嗨,我有这个奇怪的问题。我无法在Mac上使用chromedriver运行测试。我在这里搜寻了每个可能的角落,似乎没有任何帮助。我的浏览器已启动,但在driver.get(url)调用之前冻结。
driver.get(url)
我的环境:MacOS High Sierra,截至2018年3月12日的最新chromedriver,最新的selenium3.10,最新的TestNG 6.14
我的代码:
public class Temp { @Test() public void test1() { System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver"); ChromeOptions options = new ChromeOptions(); options.addArguments("--test-type"); options.addArguments("ignore-certificate-errors"); WebDriver driver = new ChromeDriver(options); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get("https://www.google.co.in/"); driver.quit(); } }
我得到的异常是:
[RemoteTestNG]检测到TestNG版本6.14.2,在端口34979上启动ChromeDriver(v2.9.248307)。[警告] kq_init:检测到kqueue损坏;未使用。:未定义的错误:0 Mar 12,2018 7:06:13 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到的方言:OSS失败:test1 org.openqa.selenium.WebDriverException:java.net.ConnectException :无法连接到localhost / 0:0:0:0:0:0:0:1:34979构建信息:版本:‘3.10.0’,版本:‘176b4a9’,时间:‘2018-03-02T19: 03:16.397Z’系统信息:主机:’sandeep-MacBook- Pro.local’,ip:‘192.168.0.100’,操作系统名称:’Mac OS X’,os.arch:’x86_64’,os.version: ‘10 .13.3’,java.version:‘1.8.0_101’驱动程序信息:driver.version:org.openqa.selenium.remote.service.DriverCommandExecutor上的RemoteWebDriver。 =============================================== 默认测试 >运行测试:1,失败:1,跳过:0 ============================================默认套件 测试总数:1,失败:1,跳过:0
[RemoteTestNG]检测到TestNG版本6.14.2,在端口34979上启动ChromeDriver(v2.9.248307)。[警告] kq_init:检测到kqueue损坏;未使用。:未定义的错误:0 Mar 12,2018 7:06:13 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到的方言:OSS失败:test1 org.openqa.selenium.WebDriverException:java.net.ConnectException :无法连接到localhost / 0:0:0:0:0:0:0:1:34979构建信息:版本:‘3.10.0’,版本:‘176b4a9’,时间:‘2018-03-02T19: 03:16.397Z’系统信息:主机:’sandeep-MacBook- Pro.local’,ip:‘192.168.0.100’,操作系统名称:’Mac OS X’,os.arch:’x86_64’,os.version: ‘10 .13.3’,java.version:‘1.8.0_101’驱动程序信息:driver.version:org.openqa.selenium.remote.service.DriverCommandExecutor上的RemoteWebDriver。
===============================================
默认测试 >运行测试:1,失败:1,跳过:0
默认测试
============================================默认套件
编辑:如果我删除注释掉driver.manage().window().maximize();功能,异常日志如下:
driver.manage().window().maximize();
[RemoteTestNG]检测到TestNG版本6.14.2,在端口22528上启动ChromeDriver(v2.9.248307)。[警告] kq_init:检测到kqueue损坏;未使用。:未定义错误:0 Mar 12,2018 7:29:29 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到方言:OSS失败:test1 org.openqa.selenium.WebDriverException:未知错误:运行时。 executionContextCreated具有无效的’context’:{“ auxData”:{“ frameId”:“ 8045B2382F1BD52FB2B8744951B53B43”,“ isDefault”:true},“ id”:1,“ name”:“”,“ origin”:“://” }(会话信息:chrome = 65.0.3325.146)(驱动程序信息:chromedriver = 2.9.248307,platform = Mac OS X 10.13.3 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时: =============================================== 默认测试 >运行测试:1,失败:1,跳过:0 ============================================默认套件 测试总数:1,失败:1,跳过:0 附加信息:我试图通过使用旧版本的chromedriver,旧版本的TestNG,旧版本的selenium进行回归,但是似乎都无法正常工作。
[RemoteTestNG]检测到TestNG版本6.14.2,在端口22528上启动ChromeDriver(v2.9.248307)。[警告] kq_init:检测到kqueue损坏;未使用。:未定义错误:0 Mar 12,2018 7:29:29 org.openqa.selenium.remote.ProtocolHandshake createSession INFO:检测到方言:OSS失败:test1 org.openqa.selenium.WebDriverException:未知错误:运行时。 executionContextCreated具有无效的’context’:{“ auxData”:{“ frameId”:“ 8045B2382F1BD52FB2B8744951B53B43”,“ isDefault”:true},“ id”:1,“ name”:“”,“ origin”:“://” }(会话信息:chrome = 65.0.3325.146)(驱动程序信息:chromedriver = 2.9.248307,platform = Mac OS X 10.13.3 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:
附加信息:我试图通过使用旧版本的chromedriver,旧版本的TestNG,旧版本的selenium进行回归,但是似乎都无法正常工作。
提前致谢。
错误说明了一切:
[RemoteTestNG] detected TestNG version 6.14.2 Starting ChromeDriver (v2.9.248307) on port 34979 [warn] kq_init: detected broken kqueue; not using.: Undefined error: 0 Mar 12, 2018 7:06:13 AM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: OSS FAILED: test1 org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:34979 Build info: version: '3.10.0', revision: '176b4a9', time: '2018-03-02T19:03:16.397Z' System info: host: 'sandeep-MacBook-Pro.local', ip: '192.168.0.100', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.3', java.version: '1.8.0_101'
您的主要问题是所使用的二进制文件之间的 版本兼容性 ,如下所示:
支持 Chrome v31-34
因此, JDK v8u101 , Selenium Client v3.10.0 , ChromeDriver 版本( v2.9 )和当前的 Chrome浏览器 版本( v65.0 )之间存在明显的不匹配。
@Test