如何在Selenium中处理弹出窗口?

时间:2011-04-20 04:48:22

标签: c# selenium

我是selenium的新手,我正在尝试为登录页面做基本的编程,当我输入错误的密码时,我会弹出框说无效的密码或用ok按钮的用户名,但是selenium RC没有认出那个pop窗口,我如何编码selenium会认识到这一点。这是我用过的代码,

public void nlogin()
        {
            selenium.Open("/login.aspx");
            selenium.Type("Login1_UserName", "abcd");
            selenium.Type("Login1_Password", "welcome");
            try
            {
                selenium.Click("Login1_LoginButton");
                Assert.AreEqual("ok", selenium.GetAlert());
                selenium.WaitForPopUp("ok", "3000");
                selenium.Click("ok");

            }
               catch (Exception)
            {

            }
        }

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

使用selenium.getAlert()它将返回JavaScript警报中包含的字符串。

答案 1 :(得分:0)

WaitForPopUp()不适用于新浏览器窗口的警报框。 您也不需要Click()按警告框上的确定按钮,GetAlert()会为您执行此操作。

您的代码应为:

public void nlogin()
    {
        selenium.Open("/login.aspx");
        selenium.Type("Login1_UserName", "abcd");
        selenium.Type("Login1_Password", "welcome");
        selenium.Click("Login1_LoginButton");
        Assert.AreEqual("ok", selenium.GetAlert());
    }

同样GetAlert()获取警报框的内容,当然这是某种警告消息而不是文本“ok”。

您可能希望查看NDoc文档中的selenium,找到here