我正在创建一系列Webdriver测试,其主要目的是确保Web应用程序页面的验证,因此这围绕确保警报发生,但更重要的是显示的文本是正确的,因此正确的验证是被触发。
但是我似乎无法从警报中获取文本。
我似乎无法找到有关从警报中检索文本的任何信息,所有研究都会返回如何简单接受警报。
到目前为止,我有:
UnhandledAlertException alertText = UnhandledAlertException.GetAlertText();
Assert.That(alertText, Is.EqualTo("You must select the user's Primary Role"));
但是“GetAlertText”不是一个可识别的东西,我不确定我是否需要获取另一个文件并引用包含此函数的文件,或者它是否根本不存在。
我很确定有一个内置的获取警报文本功能,但我似乎错了。
谢谢, - 汤姆
答案 0 :(得分:0)
如果您确定警报是JavaScripts,那么可以获得如下警告文本
string alertText = ((OpenQA.Selenium.IAlert)driverObj).Text;
答案 1 :(得分:0)
尝试使用此Alert类。
public String getAlert()
{
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
alert.accept();
return alertText;
}
将从java脚本警报功能返回Alert的文本消息。
如果警报是某种类型的js框架看起来像错误但是弹出窗口,那么使用xpath来获取该定位器的文本。