我正在尝试自动化测试用例。由于弹出消息在不确定的时间出现,因此测试用例失败,这很困难。有时弹出窗口会在没有单击的情况下显示,有时则会在弹出窗口显示之前单击5-6次。我找不到弹出窗口没有id或XPath。
答案 0 :(得分:0)
如果弹出窗口是基于Windows的,则使用AutoIT库。 如果它是Web弹出窗口,那么您可以通过以下代码来处理它
Set<String> set = driver.getWindowHandles();
List<String> list = new ArrayList<>(set);
// store your main window handle in variable
String mainWindow = list.get(0);
// To close all unwanted popup
for(int i =1; i <list.size(); i++)
{
String unwantedPopup = list.get(i);
driver.switchTo().window(unwantedPopup);
driver.close();
}
// Switch back to your main window
driver.switchTo().window(mainWindow);
答案 1 :(得分:0)
我找到了对我有用的解决方案。
Thread.sleep(5000); //wait for the modal message to appear
String winHandleBefore = driver.getWindowHandle();
driver.findElement(By.xpath("xpath")).click();
Thread.sleep(2000);
driver.switchTo().window(winHandleBefore);