gpt4 book ai didi

java - 等待模式在 Selenium 2.0 中消失

转载 作者:行者123 更新时间:2023-12-04 20:19:40 24 4
gpt4 key购买 nike

当我使用 Firefox 的 webdriver 运行测试时,我会在接受警报后收到模态异常:

[Exception]: Modal dialog present

然而,当使用 IE webdriver 时,测试工作正常。问题似乎是测试场景在警报完全关闭之前继续进行。换句话说,它试图执行以下操作:

List<WebElement> l = driver.findElements(By.linkText("link"));

结果我会得到模态异常。

现在 wait.until(ExpectedConditions) 如前所述 wait.until(ExpectedConditions.visibilityOf Element1 OR Element2)是很好的候选人。但是,我无法创建一个在警报消失时返回 true 的条件。我该怎么做?

编辑:进一步澄清,问题不在于等待警报出现(我的隐式等待为此目的工作正常)。我确实收到警报并对其应用测试,但是在我单击警报上的接受后,测试快速进行并尝试继续下一步,同时警报仍然存在并抛出模态存在异常。我还尝试了以下方法来阻止这种情况,但没有成功。

driver.switchTo().defaultContent();

最佳答案

现在有等待警报出现/消失的默认机制,但我们可以编写自己的逻辑,如下所示,而不是等待静态时间量 (Thread.sleep(10000))。

waitForAlert(WebDriver driver)
{
int i=0;
while(i++<5)
{
try
{
Alert alert = driver.switchTo().alert();
alert.accept();
break;
}
catch(NoAlertPresentException e)
{
Thread.sleep(1000);
continue;
}
}
}

关于java - 等待模式在 Selenium 2.0 中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23941763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com