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)結合使用,然後將這些參數傳遞給我的測試,而無需更改腳本。其他更簡單的接口只是使用電子表格來設置所有這些參數,相同的想法。 –
嘿,是的,我看到了隱含的等待,謝謝我將刪除一個。 我並不完全理解你答疑的第二部分。 –