在酱汁Windows7中进行硒测试

时间:2015-01-08 04:46:37

标签: selenium-webdriver saucelabs

我正在尝试运行一个简单的测试,看看我是否可以使用以下功能运行。

OS: Windows 7
Browser: Firefox
Browser Version: 33

这是我的代码:

import static org.junit.Assert.*;

import java.net.URL;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class Tests {

    private WebDriver driver;

    @Before
    public void setUp() throws Exception {
        // Choose the browser, version, and platform to test
        DesiredCapabilities caps = DesiredCapabilities.firefox();
        caps.setCapability("platform", "Windows 7");
        caps.setCapability("version", "33");
        caps.setCapability("browserName", "");
        // Create the connection to Sauce Labs to run the tests
        this.driver = new RemoteWebDriver(
                new URL("http://<axxxxxx>:<5xxxxx@ondemand.saucelabs.com:80/wd/hub"),
                caps);
    }

    @Test
    public void webDriver() throws Exception {
        // Make the browser get the page and check its title
        driver.get("http://www.amazon.com/");
        assertEquals("Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more", driver.getTitle());
    }

    @After
    public void tearDown() throws Exception {
        driver.quit();
    }
}

当我运行此测试时,看起来我无法使用Windows 7:

java.lang.IllegalArgumentException: No enum constant org.openqa.selenium.Platform.Windows 7
    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)

我很困惑。网站http://docs.seleniumhq.org/about/platforms.jsp表示支持Windows 7。我在哪里弄错了?

2 个答案:

答案 0 :(得分:2)

您在Selenium 2.44.0 中遇到了错误。正如Sauce Labs知识库中this article所指出的,您有两种选择:

  1. 根据文章的首选选项是恢复为2.43.0。

  2. 您选择的选项:使用Platform枚举中的一个值而不是String。 (事实证明,至少在一段时间内不可能使用此选项,但Sauce Labs人员修改了他们的结束以允许它。)

  3. 文章还指出,下一版Selenium将有必要的解决方案。

答案 1 :(得分:1)

定义以下功能解决了我的问题。在平台上观察VISTA。

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
capabilities.setCapability("version", "33"); 
capabilities.setCapability("platform", Platform.VISTA); 
capabilities.setCapability("name", "Windows7Firefox33");