使用Selenium在多个浏览器上运行JUnit测试

时间:2017-06-01 09:49:36

标签: java eclipse selenium browser junit

我正在尝试在多个浏览器(Chrome,Edge,Firefox等)上运行我的测试

我不需要它们并行运行,它们可以一个接一个地运行。 我在@before使用init浏览器并切换大小写以在XML配置文件(getData函数)中查找浏览器。

@BeforeClass
public static void openBrowser() throws ParserConfigurationException, SAXException, IOException {
    initBrowser(getData("BrowserType"));
    mainWindowHandle = driver.getWindowHandle();
    wait = new WebDriverWait(driver, Long.parseLong(getData("WaitTime")));
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    initExtentReport();
    initElements();
}

public static void initBrowser(String browserType) throws ParserConfigurationException, SAXException, IOException {
    switch (browserType.toLowerCase())
        {
        case "firefox":
             driver = initFFDriver();
             break;

        case "ie":
             driver = initIEDriver();
             break;

        case "chrome":
             driver = initChromeDriver();
             break;

             default:
                 driver = initChromeDriver();
                 break; 
    }

    driver.manage().window().maximize();        
    driver.get(getData("URL"));
    driver.manage().timeouts().implicitlyWait(Integer.parseInt(getData("WaitTime")), TimeUnit.SECONDS);
}

但是,自测试开始检查XML以查看BrowserType(XML)中的浏览器

<Pre>
    Chrome
</Pre>

我无法在多个浏览器上运行测试。我需要手动更改XML中的浏览器才能这样做。

有没有办法用Junit做到这一点? (我在Eclipse中使用Java。)

1 个答案:

答案 0 :(得分:0)

您可以为不同的浏览器创建多个XML。