我目前正在使用硒web驅動程序自動執行功能測試。我遇到了一個場景,在這個場景中,我需要點擊窗口上的打印按鈕(比如說A),打開一個新窗口(比如說B)。打印對話也會彈出窗口B.我需要使用java腳本執行程序關閉該打印對話框。在硒中使用javascriptexecutor單擊打印按鈕時無法關閉打印對話框Web驅動程序firefox
我試過這個。但它不起作用。我的代碼:
public void handlePrintButtonScenario {
String parentWindow_A = driver.getWindowHandle(); //get the current window A handle
Printbutton().click(); //clicking print button
//switch focus of web driver to newly opened window B
for (String winhandle : driver.getWindowHandle()) {
driver.switchTo().window(winhandle);
}
//closing printdialoge
closeWindowByJS();
driver.close();// closing window B
driver.switchTo().window(parentWindow_A); // switching focus to window A
}
public void closeWindowByJS() {
JavascriptExecutor js = (JavascriptExecutor) driver;
String script = "window.onbeforeunload = null;" + "window.close();";
js.executeScript(script);
}
現在發生了什麼打印對話和櫥窗內得到,當我通過調用方法closeWindowByJS執行首次場景關閉()。我在driver.close()行得到異常,說沒有找到這樣的窗口。
但是,當我重新運行方案,即從第二次無打印對話也不櫥窗內關閉掉。但重點得到了適當的改變,場景也正常運行。
,但我需要先關閉打印對話框使用javascriptexecutor然後關閉窗口B.我不需要通過調用closeWindowByJS關閉這兩個()。這需要切換後集中到窗口A.
請幫助?
請幫助我解決此問題....迫切需要解決方案。 – praveen 2014-09-11 16:39:49