0
我想在几个浏览器(Chrome浏览器,边缘,火狐等)运行我的测试运行JUnit测试硒
我不需要它们运行的同时,他们可以运行后一个一个完成。 我使用初始化浏览器@before
并切换大小写以查找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。)
这不是您的问题的答案,但您是否知道在InitBrowser内部,您正在根据电子表格设置设置隐式等待超时,但是在初始化该驱动程序后,在@BeforeClass中,您正在用硬编码等待20秒? –
更多的问题是,我通过创建一个前端来完成这个任务,这个前端允许测试人员选择哪个浏览器以及其他各种选项,然后用这些设置创建文本表文件,但那是因为我使用JBhave将JUnit与故事文件(BDD)结合使用,然后将这些参数传递给我的测试,而无需更改脚本。其他更简单的接口只是使用电子表格来设置所有这些参数,相同的想法。 –
嘿,是的,我看到了隐含的等待,谢谢我将删除一个。 我并不完全理解你答疑的第二部分。 –