Webdriver除了可以处理浏览器默认窗口上的元素,还可以处理各种弹出窗口,包括识别弹出窗口、在弹出窗口中执行测试步骤,切换到原始窗口等操作。
这些功能的实现步骤如下:
- 打开父窗口并使用webdriver的getWindowHandler方法记录下父窗口的控点:
String parentWindowId = driver.getWindowHandler();
- 验证父窗口的完整标题
- 获取所有已打开的窗口控点列表
- 在这个控点列表中查找包含要查找的弹出窗口标题某段字符串的窗口控点,找到后则停止查找
if(driver.switchTo().window(windowId).getTitle().contains("<目标查找窗口Tilte的某段字符串>")){
driver.switchTo().window(windowId).getTitle().contains("<目标查找窗口Tilte的某段字符串>");
break;
}
}
- 同样,使用assertTrue()方法验证查找的弹出窗口是否为目标查找窗口
【注】如果目标查询窗口没有标题或者不想用标题的方式进行查找,则可以使用窗口内容进行查找,查找方法getTitle()更换为getPageSource()即可