我会告诉您使用Perfecto在Win 10中使用IE 11浏览器时遇到的问题的确切情况。
场景:网页有一个框架,该框架内部有一个由大量数据组成的表格。其中一个数据恰好是"删除"链接,点击它后,我会弹出一个"你确定吗?"使用是或否按钮。
driver.switchTo().frame(frameID);
挑战:driver.switchTo().Alert()
在Windows 10中不起作用 - 在Perfecto的IE11浏览器中,它在相同操作系统组合的CHrome浏览器中工作:
解决方案:
1)
((JavaScriptExecutor)driver).executeScript("window.confirm=function(){return true;}");
和javaScriptExecutor中的许多这样的跟踪和错误方法。
面临的错误:因为"驱动程序"实例在Frame内部,当我们执行window.confirm或window.alert时,我面临NullPointerException。
2)使用Robot类进行盲输入键。
Robot rb = new Robot();
rb.delay(2000);
rb.pressKey(KeyEvent.VK_ENTER);
rb.releaseKey(KeyEvent.VK_ENTER);
错误面临:不起作用。弹出就在那里。
3)driver.switchTo().defaultContent()
面临错误 - 关闭弹出窗口并控制进入网页而不删除不是功能的记录。
4)driver.switchTo().ActiveElement()
遇到错误:抛出WebDriverException。
请帮助提供解决方案。enter image description here
注意:同一段代码在chrome浏览器中有效。在Perfecto中运行时,问题出在IE11上。