通过Webdriver从JavaScript警报中检索文本

时间:2014-08-04 16:14:18

标签: c# javascript selenium selenium-webdriver webdriver

我正在创建一系列Webdriver测试,其主要目的是确保Web应用程序页面的验证,因此这围绕确保警报发生,但更重要的是显示的文本是正确的,因此正确的验证是被触发。

但是我似乎无法从警报中获取文本。

我似乎无法找到有关从警报中检索文本的任何信息,所有研究都会返回如何简单接受警报。

到目前为止,我有:

UnhandledAlertException alertText = UnhandledAlertException.GetAlertText();

Assert.That(alertText, Is.EqualTo("You must select the user's Primary Role"));  

但是“GetAlertText”不是一个可识别的东西,我不确定我是否需要获取另一个文件并引用包含此函数的文件,或者它是否根本不存在。

我很确定有一个内置的获取警报文本功能,但我似乎错了。

谢谢, - 汤姆

2 个答案:

答案 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来获取该定位器的文本。