无法使用 Selenium 和 Java 在 Mac OSX 中启动 Safari 12 浏览器
Unable to launch Safari 12 browser in Mac OSX using Selenium and Java
最近我将 mac OS 更新为 "Mojave version 10.14" 和 "safari version 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)
在这两种情况下,我都无法 运行 我的测试用例,请有人帮助我。谢谢.
这个错误信息...
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 无法 initiate/spawn 新的 WebBrowser 即 Safari浏览器 会话。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
- 您的 Selenium Client 版本是 3.0.0 of 2016-10-13 10:48:57 - 0700 差不多大 2 岁。
- 你的 JDK 版本 是 1.8.0_131 这是相当古老的。
因此 JDK v8u131 与 Selenium Client v3.0.0
之间存在明显的不匹配
解决方案
- 作为初始步骤,您需要满足以下要求 ...SafariDriver 需要在 OSX El Capitan 或更高版本上使用 Safari 10 运行。 .
- 将 JDK 升级到最近的水平 JDK 8u181。
- 将 Selenium 升级到当前水平 Version 3.14.0。
- 将 SafariDriver 升级到当前级别。
- 升级 Safari 浏览器 到当前级别。
- 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖。
- 如果你的基本Web Browser/Client版本太旧,那么通过Revo Uninstaller卸载它并安装最新的GA和发布版本网络客户端.
- 执行你的
@Test
.
最近我将 mac OS 更新为 "Mojave version 10.14" 和 "safari version 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)
在这两种情况下,我都无法 运行 我的测试用例,请有人帮助我。谢谢.
这个错误信息...
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 无法 initiate/spawn 新的 WebBrowser 即 Safari浏览器 会话。
您的主要问题是您使用的二进制文件版本之间不兼容,如下所示:
- 您的 Selenium Client 版本是 3.0.0 of 2016-10-13 10:48:57 - 0700 差不多大 2 岁。
- 你的 JDK 版本 是 1.8.0_131 这是相当古老的。
因此 JDK v8u131 与 Selenium Client v3.0.0
之间存在明显的不匹配解决方案
- 作为初始步骤,您需要满足以下要求 ...SafariDriver 需要在 OSX El Capitan 或更高版本上使用 Safari 10 运行。 .
- 将 JDK 升级到最近的水平 JDK 8u181。
- 将 Selenium 升级到当前水平 Version 3.14.0。
- 将 SafariDriver 升级到当前级别。
- 升级 Safari 浏览器 到当前级别。
- 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖。
- 如果你的基本Web Browser/Client版本太旧,那么通过Revo Uninstaller卸载它并安装最新的GA和发布版本网络客户端.
- 执行你的
@Test
.