使用webdriver从javascript警报中获取文本元素

时间:2014-02-24 10:54:21

标签: c# javascript selenium selenium-webdriver

我在c#中使用selenium webdrive来学习和编写自动化测试,我遇到过这种情况:

假设您有一个这样的网站:http://referencewebapp.qaautomation.net/register.php并且您将弹出错误消息作为javascript警报(例如,如果您按下注册而不填写任何信息)。我需要做的是检查警报中的错误消息(文本)。

我无法使用driver.FindElement或drive.PageSource,因为我看不到它的源代码。我读到了关于尝试选择/更改框架(Selenium cannot get alert thrown in iframe),但我不知道frameID如何。有什么方法可以找到并检查该文本吗?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:2)

 driver.SwitchTo().Alert().Text;

应该就是您所需要的一切。

答案 1 :(得分:1)

您可以尝试使用selenium Alert对象获取警报文本(对话框)。

例如:

    Alert alert = driver.switchTo().alert();
    String alertText = alert.getText();
    if (alertText.equals("error...")) {

        // Do Something...

        // dismiss alert
        alert.dismiss();

    }

selenium 2.0 documentation.

中的更多信息