以下内容是根据https://saucelabs.com/platforms中列出的配置进行配置的.
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("platform", "Windows 8.1");
capabilities.setCapability("browserName", "firefox");
capabilities.setCapability("version", "33.0.");
capabilities.setCapability("name", "Bamboo Job");
driver = new RemoteWebDriver(new URL("http://user:key@localhost:4445/wd/hub"),capabilities);
上面的代码会导致以下错误:
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_1 但使用此方法无法提及 Mac 或 Linux 中的版本。
请告诉我如何修复此错误。
最佳答案
platform
设置的内容不是由 Selenium 决定,而是由 Sauce Labs 决定。他们有一个 whole page致力于告诉您确切要放在那里的内容。您可以选择平台、浏览器、浏览器版本,它会准确地告诉您您需要什么。
无论如何,Linux 的platform
字符串是字符串"Linux"
。对于 Mac,您有多种选择,具体取决于您想要的操作系统版本。我看到的是:
"OS X 10.10"
"OS X 10.9"
"OS X 10.8"
"OS X 10.6"
关于java - 为 SauceLabs 执行设置 DesiredCapability 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798746/