为SauceLabs执行设置DesiredCapabilities时出错

时间:2014-11-07 10:08:00

标签: java selenium webdriver saucelabs

以下是基于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中提及版本。

请告诉我如何解决此错误。

2 个答案:

答案 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。