我有以下代码来验证警报文本然后解散。验证警报文本失败。
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
alertText = alert.getText();
alertText返回null。因此,断言文本的下一步是失败的。 下一步:
driver.switchTo().alert().accept();
接受警报,没有任何问题。
另一个奇怪的情况是我在eclipse中调试它的工作正常。但是当我运行断言时会抛出错误。
我在运行和调试时发现的另一个差异。 在运行警报时出现此消息不要让此页面创建更多消息
看起来很奇怪。
答案 0 :(得分:2)
将消息显示为“不要让此页面创建更多消息”是浏览器功能,以防止网站显示数百个警报。
在调试代码时它正在运行,即使在运行时它也应该工作。如果不工作,肯定是它的同步问题。我希望加上一些耐心肯定有帮助。
从警报弹出窗口获取警报文本的其他方法:
public String getJsAlertText()
{
Object txt = ((JavascriptExecutor)driver).executeScript("return
window.alert.myAlertText;");
return (String)txt;
}