1

我使用 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");
}
4

2 回答 2

0

根据我的经验,仅在 IE 中发生的随机故障通常是由于元素(在本例中为窗口处理程序)尚未完全存在。IE 似乎以与 Chrome 和 Firefox 不同的顺序/方式(我不知道如何)加载元素,所以我经常发现我必须在其他浏览器没有的情况下为 IE 应用 waitUntil。但是,这是窗口处理程序,我想情况并非如此,但如果是这样,我也不会感到非常惊讶:P

于 2012-05-11T01:32:23.837 回答
0

启动 Google Chrome 实例,并将 IE Tab 扩展配置为默认打开。它模拟 IE,但不会像 Microsoft 的产品那样崩溃。

于 2012-05-12T00:49:14.000 回答