【问题标题】:Unable to launch safariDriver through Jenkins无法通过 Jenkins 启动 safariDriver
【发布时间】:2021-01-01 15:07:24
【问题描述】:

我想在 safari 浏览器上运行我的 selenium/java 脚本。 本地运行工作正常(我能够看到 safari 启动和脚本工作正常)。 但是当我尝试通过 Jenkins 运行它时,我遇到了一个问题。此语句出错,不启动 safariBrowser driver = new SafariDriver(options);

请注意,当我登录到 VM 并尝试在 VM 上运行时,我能够正常运行脚本。但是当脚本通过 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

非常感谢任何帮助!

【问题讨论】:

    标签: java selenium jenkins webdriver safaridriver


    【解决方案1】:

    此错误消息...

    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 无法与 Browsing ContextBrowser 会话进行通信。

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

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

    解决方案

    确保:

    【讨论】:

    • 但奇怪的是,这与 Chrome 和其他浏览器完美配合。这似乎只是 safari 的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-12
    • 2015-04-28
    • 2015-03-03
    相关资源
    最近更新 更多