无法连接到SafariDriver。 Selenium 2.44.0通过OSX Yosemite&上的守护进程运行Safari 8

时间:2014-12-13 01:08:25

标签: selenium webdriver daemon osx-yosemite safaridriver

我目前在Yosemite和Safari 8上。

我一直收到这个错误: Caused by: org.openqa.selenium.remote.UnreachableBrowserException: Failed to connect to SafariDriver after 10161 ms Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37' System info: host: 'TODIGWS000993.local', ip: 'xx.xx.xx.xx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.1', java.version: '1.8.0_25' Driver info: driver.version: SafariDriver at org.openqa.selenium.safari.SafariDriverCommandExecutor.start(SafariDriverCommandExecutor.java:124) at org.openqa.selenium.safari.SafariDriver.startClient(SafariDriver.java:72) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:139) at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:58) at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:51) ... 14 more 18:42:43.408 WARN - Exception: Failed to connect to SafariDriver after 10161 ms Build info: version: '2.44.0', revision: '76d78cf', time: '2014-10-23 20:02:37' System info: host: 'TODIGWS000993.local', ip: 'xx.xx.xx.xx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.1', java.version: '1.8.0_25' Driver info: driver.version: SafariDriver

我正在设置自己的网格,并且我使用独立的jar文件(2.44.0)。我通过守护进程运行集线器和节点,分别使用launchd和.plist文件。 所有其他浏览器(FF和Chrome)都可以加载并运行测试。

我按照

列出的说明操作

https://code.google.com/p/selenium/issues/detail?id=7933#c33

并成功地手动将webdriver扩展安装到safari 8浏览器中

最初,当通过守护进程运行selenium jar时,这不起作用。但是当我停止守护进程并使用登录用户运行jar(使用相同的参数)时,safari驱动程序错误就消失了,并且加载了safari浏览器并运行了测试。

我尝试过参数

-Dwebdriver.safari.noinstall=true 

但仍然没有进展。

还将守护进程设置为与成功运行测试的登录用户具有相同的env变量,但这也不起作用。

基本上,相同的命令在通过登录用户运行时有效,但不能通过守护进程运行。任何帮助将不胜感激。

/usr/bin/java -jar /usr/lib/selenium/selenium-server-standalone-2.44.0.jar -port 5555 -role node -hub http://localhost:4444/grid/register -nodeConfig /usr/lib/selenium-code/osx/node_config.json -Dwebdriver.chrome.driver=/usr/lib/selenium/chromedriver

构建信息:版本:&#39; 2.44.0&#39;,修订版:&#39; 76d78cf&#39;,时间:&#39; 2014-10-23 20:02:37&#39; 系统信息:主持人:&#39; TODIGWS000993.local&#39;,ip:&#39; xxxxxxxx&#39;,os.name:&#39; Mac OS X&#39;,os.arch:&#39; x86_64&#39;,os.version:&#39; 10.10.1&#39;,java.version:&#39; 1.8.0_25&#39; 野生动物园8

以下是safari驱动程序中的日志:

18:40:41.78 [safaridriver.extension] Creating global session...
18:40:41.78 [safaridriver.extension.TabManager] Registering new tab
18:40:41.78 [safaridriver.extension.TabManager] Set command tab to hncoksu5irc9
18:40:41.78 [safaridriver.extension] Creating debug driver...
18:40:41.78 [safaridriver.extension] Waiting for connect command...
18:43:04.20 [safaridriver.extension.TabManager] Registering new tab
18:43:04.20 [safaridriver.extension.TabManager] Tab opened: wgoy5x4bmbnw
18:43:04.34 [safaridriver.extension.TabManager] Ignoring open window event
18:43:04.34 [safaridriver.extension.TabManager] Deleting entry for tab wgoy5x4bmbnw
18:43:04.89 [safaridriver.extension.Server] [wi8mei4r9u3q] Executing command: newSession

由于

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题:createDriver org.openqa.selenium.remote.UnreachableBrowserException:10342 ms后无法连接到SafariDriver

为了在尝试某些事情后解决问题,我在Apple网站上注册了“Safari开发者计划”,并生成了一个在Safari中使用的证书。将证书安装在我的密钥链中,并将Safari扩展添加到浏览器中。

可以参考网站上的步骤:https://rationaleemotions.wordpress.com/2012/05/25/working-with-safari-driver/

我使用的软件配置如下: Selenium:selenium-server-standalone-2.43.1.jar Safari:7.1.3 Mac:10.9.5

甚至在最新的Selenium 2.44.0和Safari 8.0上进行了测试。这种方法很有效。