当我使用Firefox的webdriver运行测试时,当我点击接受警报后,会出现模态异常:
[Exception]: Modal dialog present
然而,使用IE webdriver时测试工作良好。问题似乎是测试方案在警报完全关闭之前就继续进行了。换句话说,它尝试执行以下操作:
List<WebElement> l = driver.findElements(By.linkText("link"));
我会得到模态异常的结果。
现在,如wait.until(ExpectedConditions.visibilityOf Element1 OR Element2)所述,wait.until(ExpectedConditions)
是一个不错的选择。但是我无法创建一个条件,在警报消失时返回true。我该怎么做呢?
编辑:为了进一步澄清,问题不是等待警报出现(我的隐式等待对此目的很好地工作)。我确实收到了警报并在其上应用了测试,但是在我点击接受警报后,测试快速进行,并尝试继续下一步,而警报仍然存在并引发模态存在异常。我也尝试过以下方法来防止这种情况,但没有成功。
driver.switchTo().defaultContent();