我使用WebDriver编写了一些脚本,它们可以完美地与firefox和Chrome一起运行。但是使用IE运行这些脚本会导致失败。我在窗口处理机制期间遇到了问题。以下是它的代码。
public void switchingWindow() {
HashSet<String> handles =(HashSet<String>) driver.getWindowHandles();;
Iterator<String> whandles = handles.iterator();
int h = 0;
while(handles.size()<2) {
handles = (HashSet<String>) driver.getWindowHandles();
whandles = handles.iterator();
System.out.println("No Of Windows : "+handles.size());
h++;
sleep(500);
if (h >= 60)
Assert.fail("Tracker PopUp not loaded successfully");
}
parentWindow = whandles.next();
popUpWindow = whandles.next();
driver.switchTo().window(popUpWindow);
System.out.println("PopUp Window is handled");
}
答案 0 :(得分:0)
根据我的经验,仅在IE中出现的随机故障通常是由于元素(在这种情况下是窗口处理程序)尚未完全存在。 IE似乎以不同的顺序/方式(我不知道如何)加载元素而不是Chrome和Firefox所以我经常发现我必须为IE应用waitUntil,其他浏览器我没有。然而,这是窗口处理程序我想象情况并非如此,但如果是这样我也会非常惊讶:P
答案 1 :(得分:0)
启动Google Chrome实例,并将IE Tab扩展程序配置为默认打开..它模拟IE,但不会像微软的产品一样崩溃。