我目前正在使用硒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