问题描述
我想在野生动物园浏览器中运行我的selenium / java脚本。
本地运行正常(我可以看到Safari启动和脚本正常运行)。
但是,当我尝试通过Jenkins运行它时,我遇到了一个问题。此语句出了错,没有启动safaribrowser driver = new SafariDriver(options);
请注意,登录虚拟机并尝试在虚拟机上运行时,我能够很好地运行脚本。但是当通过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帖子。 我发现很少有帖子说使用自动脚本启动safariDriver。但是,当我尝试使用automator脚本启动safariDriver时,我可以看到在“活动监视器”中启动了一个“ safariDriver”进程,但是当我的脚本运行时,无法连接到相同的端口并使用已经运行的端口safariDriver 这是使用的自动化脚本:
security unlock-keychain -p '<password>'
/usr/bin/safaridriver --enable
/usr/bin/safaridriver --port 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 无法与浏览上下文即 Browser 会话进行通信。
您的主要问题是所使用的二进制版本之间的不兼容性,如下所示:
- 您正在使用
java.version: '1.8.0_181'
- 但您使用的是 2018-05-08T14:04:26.12Z的硒版本:
'3.12.0
',这是古老而古老的。
解决方案
确保:
- 硒已升级到当前发布的Version 3.141.59。