以下是基于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)
但是当我在Platform enum中提供值时,整个套件都会通过。例如: - WINDOWS,WIN8_1 但是使用这种方法无法在Mac或Linux中提及版本。
请告诉我如何解决此错误。
答案 0 :(得分:1)
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"
答案 1 :(得分:0)
这是Selenium 2.44的“特色”。请参阅issue 8083。你应该使用Selenium 2.43.1。