如果一个相同的测试用例同时打开两个以上的窗口,那么如何一次处理这些多个窗口,更具体地说,如果我希望我的主窗口稍后关闭而其他窗口先关闭,该怎么办? / p>
答案 0 :(得分:0)
您可以使用
driver.switchTo().window("windowName");
在调用driver.close()
之前选择正确的窗口。 (如果没有窗口,浏览器将关闭。)
有更多信息here
答案 1 :(得分:0)
你可以做这样的事情
1.打开子窗口(点击链接等)
parentWindowHandle = driver.getWindowHandle();
2.每个新窗口
public String getChildHandle(WebDriver driver,String parentWindowHandle)
{
String childWindowHandle = null;
Set<String> allWindowHandles = driver.getWindowHandles();
Iterator itr = allWindowHandles.iterator();
while(itr.hasNext())
{
String temp=(String) itr.next();
if(temp.equalsIgnoreCase(parentWindowHandle)) // you can compare with any handle or you can compare with all existing window handles
{
System.out.println("Same as parent handle-> "+temp);
}
else
{
childWindowHandle = temp;
}
}
return childWindowHandle;
}
3.关闭任何不需要的窗口
driver.switchTo().window(parentWindowHandle/childWindow1/childWindow2);
driver.close();