【问题标题】:Unable to launch Safari 12 browser in Mac OSX using Selenium and Java无法在 Mac OSX 中使用 Selenium 和 Java 启动 Safari 12 浏览器
【发布时间】:2019-03-13 12:13:11
【问题描述】:

最近我将 mac OS 更新为“Mojave 版本 10.14”和“safari 版本 12.0”,之后我无法使用 safari 浏览器。早些时候它运行良好。 我是硒“3.0.0” 这是我的代码:

场景 1:

case "safari":
DesiredCapabilities cap = DesiredCapabilities.safari();
driver = new SafariDriver(cap);
break;

错误:

org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{browserName=safari, safari.options=org.openqa.selenium.safari.SafariOptions@10eff, version=, platform=MAC}], required capabilities = Capabilities [{}]
Build info: version: '3.0.0', revision: '350cf60', time: '2016-10-13 10:48:57 -0700'
System info: host: 'xxxx-MacBook-Pro.local', ip: 'xxxxx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14', java.version: '1.8.0_131'
Driver info: driver.version: SafariDriver

场景 2:

SafariOptions options = new SafariOptions();
options.setUseTechnologyPreview(true);
WebDriver driver = new SafariDriver(options);
driver.get("http://www.google.com");
driver.quit();

错误:

Exception in thread "main" org.openqa.selenium.WebDriverException: SafariDriver requires Safari 10 running on OSX El Capitan or greater.
Build info: version: '3.0.0', revision: '350cf60', time: '2016-10-13 10:48:57 -0700'
System info: host: 'xxxx-MacBook-Pro.local', ip: 'xxxxx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14', java.version: '1.8.0_131'
Driver info: driver.version: SafariDriver
    at org.openqa.selenium.safari.SafariDriver.getExecutor(SafariDriver.java:75)
    at org.openqa.selenium.safari.SafariDriver.<init>(SafariDriver.java:62)

在这两种情况下,我都无法运行我的测试用例,请有人帮助我。谢谢。

【问题讨论】:

    标签: java macos selenium safari safaridriver


    【解决方案1】:

    此错误消息...

    org.openqa.selenium.SessionNotCreatedException: Unable to create new remote session. desired capabilities = Capabilities [{browserName=safari, safari.options=org.openqa.selenium.safari.SafariOptions@10eff, version=, platform=MAC}], required capabilities = Capabilities [{}] Build info: version: '3.0.0', revision: '350cf60', time: '2016-10-13 10:48:57 -0700' System info: host: 'xxxx-MacBook-Pro.local', ip: 'xxxxx', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14', java.version: '1.8.0_131'
    

    ...暗示 SafariDriver 无法启动/生成新的 WebBrowserSafari Browser 会话。

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

    • 您的 Selenium Client 版本是 2016-10-13 10:48:57 -07003.0.0,几乎是 >2 岁
    • 您的 JDK 版本1.8.0_131,相当古老。

    所以 JDK v8u131Selenium Client v3.0.0

    之间存在明显的不匹配

    解决方案

    • 作为初始步骤,您需要满足以下要求...SafariDriver 需要在 OSX El Capitan 或更高版本上运行的 Safari 10...
    • JDK 升级到最新级别 JDK 8u181
    • Selenium升级到当前级别Version 3.14.0
    • SafariDriver升级到当前级别。
    • Safari 浏览器升级到当前级别。
    • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
    • 如果您的基础 Web 浏览器/客户端 版本太旧,请通过Revo Uninstaller 将其卸载并安装最新的 GA 和发布版本的 Web 客户端。李>
    • 执行您的@Test

    【讨论】:

    • 谢谢 DebanjanB,这是不兼容的问题,我可以修复它并成功运行测试。但是 safari 12 现在不接受任何第三方扩展,我无法将 weddriver 扩展添加到 safari 12 浏览器。
    猜你喜欢
    • 2015-01-15
    • 2018-01-14
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多