Java 设置SauceLabs执行的DesiredCapabilities时出错
以下配置基于中列出的配置 上述代码导致以下错误:Java 设置SauceLabs执行的DesiredCapabilities时出错,java,selenium,webdriver,saucelabs,Java,Selenium,Webdriver,Saucelabs,以下配置基于中列出的配置 上述代码导致以下错误: java.lang.IllegalArgumentException: No enum constant org.openqa.selenium.Platform.Windows 8.1 at java.lang.Enum.valueOf(Enum.java:236) at org.openqa.selenium.Platform.valueOf(Platform.java:30) at org.openqa.selenium.remote.De
java.lang.IllegalArgumentException: No enum constant org.openqa.selenium.Platform.Windows 8.1
at java.lang.Enum.valueOf(Enum.java:236)
at org.openqa.selenium.Platform.valueOf(Platform.java:30)
at org.openqa.selenium.remote.DesiredCapabilities.setCapability(DesiredCapabilities.java:168)
at com.automation.tool.internal.InitiateBrowser.getBrowser(InitiateBrowser.java:17)
at com.automation.tool.Automation_Tool.(Automation_Tool.java:36)
at ui_automation.Login_Validation.setUp(Login_Validation.java:19)
但当我在平台枚举中提供值时,整个套件就通过了。示例:-WINDOWS,WIN8\u 1
但使用此方法无法在Mac或Linux中提及版本
请告诉我如何修复此错误。平台设置的内容不是由Selenium决定的,而是由Sauce Labs决定的。他们有一个专门的方法来告诉你该放什么。您可以选择平台、浏览器、浏览器版本,它将准确地告诉您需要什么 无论如何,Linux平台的
字符串就是“Linux”
。对于Mac,您可以根据所需操作系统的版本进行多种选择。我看到的是:
"OS X 10.10"
"OS X 10.9"
"OS X 10.8"
"OS X 10.6"
这是Selenium 2.44的一个“特性”。看。你应该使用硒2.43.1。这让我经历了。。。能力。设置能力(“平台”、“窗口”);设置功能(“操作系统”、“Windows 8.1”);另外,不要直接为功能指定字符串名称/值对。每个实现版本之间可能会有所不同。尝试类似于caps.setCapability(CapabilityType.PLATFORM,PLATFORM.WINDOWS)的方法
以确保您仅使用所使用的selenium版本支持的功能。@shri046您是否有推荐此功能的源代码,或者您刚刚提出了自己的规则?两个观察结果:a)我在回答中提到的正是Sauce实验室建议您访问其服务的方式。b) 我记得,平台的命名方式完全由远程服务决定,而不是由Selenium客户端决定。Sauce实验室可能会要求Linux平台命名为“土豆”。@Louis我个人的偏好,不是规则。开场白中出现异常的原因是,他/她可能正在使用不支持这些平台的selenium webdriver版本。在我看来,SeleniumWebDriver的一系列特殊功能都是由SauceLabs驱动的。与标准常数相同。
"OS X 10.10"
"OS X 10.9"
"OS X 10.8"
"OS X 10.6"