public void pageSwitchByHandleForContent(String description) {
try {
String winHandleBefore = driver.getWindowHandle();
Set<String> winHandles = driver.getWindowHandles();
driver.close();
Iterator<String> it = winHandles.iterator();
while (it.hasNext()) {
String win = it.next();
if (!win.equals(winHandleBefore)) {
driver.switchTo().window(win);
LogUtil.step("Switch Window From " + winHandleBefore + " to " + win, description);
break;
}
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
在做一个页面的自动化测试过程中,单击页面中的按钮时会产生新的独立的窗口,因为第二个页面是对于第一个,并且所包含的信息是在第一个窗口的基础之上的,所以
为了简单起见,我直接关闭了一个窗口,仅仅保留第二个;
这样可以有效的降低维护窗口之间切换的复杂度,并且考虑这样一种情况:如果一直保留所有的窗口,并且在第二个窗口中操作时会产生第三个,在第三个窗口中操作会产生第四个,以此类推,窗口之间的切换就会变得非常复杂。