Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法通过Jenkins启动safariDriver_Java_Selenium_Jenkins_Webdriver_Safaridriver - Fatal编程技术网

Java 无法通过Jenkins启动safariDriver

Java 无法通过Jenkins启动safariDriver,java,selenium,jenkins,webdriver,safaridriver,Java,Selenium,Jenkins,Webdriver,Safaridriver,我想在safari浏览器上运行selenium/java脚本。 本地运行正常(我可以看到safari启动和脚本正常运行)。 但当我试着通过詹金斯来解决这个问题时,我面临着一个问题。它在此语句中出错,不启动safariBrowserdriver=newsafaridriver(选项) 请注意,当我登录到虚拟机并尝试在虚拟机上运行时,我能够很好地运行脚本。但是当脚本通过Jenkins触发时,就会出错 这是我的代码: SafariOptions options = new SafariOptions(

我想在safari浏览器上运行selenium/java脚本。 本地运行正常(我可以看到safari启动和脚本正常运行)。 但当我试着通过詹金斯来解决这个问题时,我面临着一个问题。它在此语句中出错,不启动safariBrowser
driver=newsafaridriver(选项)

请注意,当我登录到虚拟机并尝试在虚拟机上运行时,我能够很好地运行脚本。但是当脚本通过Jenkins触发时,就会出错

这是我的代码:

SafariOptions options = new SafariOptions();
options.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT, "true");
driver = new SafariDriver(options);
抛出错误

org.openqa.selenium.WebDriverException: 
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:9504
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'mac10-14-886479', ip: '10.0.10.253', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '1.8.0_181'
Driver info: driver.version: SafariDriver
Caused by: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:9504
Caused by: java.net.ConnectException: Connection refused (Connection refused)
已尝试其他备选方案: 尝试签入其他stackoverFlow帖子。 我发现很少有帖子说使用automator脚本启动safariDriver。但是,当我尝试使用automator脚本启动safariDriver时,我可以看到“活动监视器”中启动了一个“safariDriver”进程,但是当我的脚本运行时,无法连接到同一端口并使用已经运行的safariDriver 这是使用的自动机脚本:

security unlock-keychain -p '<password>'
/usr/bin/safaridriver --enable 
/usr/bin/safaridriver --port 7050
<代码>安全解锁钥匙链-p“ /usr/bin/safaridriver—启用 /usr/bin/safaridriver——端口7050
非常感谢您在这方面的任何帮助

此错误消息

org.openqa.selenium.WebDriverException: 
java.net.ConnectException: Failed to connect to localhost/127.0.0.1:9504
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z'
System info: host: 'mac10-14-886479', ip: '10.0.10.253', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '1.8.0_181'
Driver info: driver.version: SafariDriver
Caused by: java.net.ConnectException: Failed to connect to localhost/127.0.0.1:9504
Caused by: java.net.ConnectException: Connection refused (Connection refused)
…表示WebDriver无法与浏览上下文(即浏览器会话)通信

您的主要问题是所使用的二进制文件版本之间的不兼容,如下所示:

  • 您正在使用
    java.version:'1.8.0_181'
  • 但您使用的是Selenium版本:2018-05-08T14:04:26.12Z的3.12.0,它既古老又古老

解决方案 确保:

  • Selenium已升级到当前版本

但奇怪的是,这在Chrome和其他浏览器上非常有效。这似乎只是safari的问题。