Selenium:如何处理基于重定向数显示的模式对话框

时间:2014-10-06 08:56:04

标签: c# selenium selenium-webdriver

我正在使用Selenium Webdriver使用C#(Page Factory模型)。

我正在测试的应用程序在网站上的第3次重定向后提供反馈对话框,无论用户在哪个页面上。

处理此反馈对话框的最佳方法是什么?我只需要关闭对话框。

我应该在每个页面的构造函数中检查这个吗? 要么 我应该在测试用例级别使用一些全局变量来保留重定向计数并检查,在这种情况下我应该如何跟踪重定向?

或任何其他更好的解决方案?

1 个答案:

答案 0 :(得分:1)

我不是c#selenium编码测试程序(我使用Java)。对于模型对话框,我们可以基于此link使用它。

private bool IsAlertPresent()
    {
        try
        {
            driver.SwitchTo().Alert();
            return true;
        }
        catch (NoAlertPresentException)
        {
            return false;
        }
    }

    private string CloseAlertAndGetItsText() {
        try {
            IAlert alert = driver.SwitchTo().Alert();
            string alertText = alert.Text;
            if (acceptNextAlert) {
                alert.Accept();
            } else {
                alert.Dismiss();
            }
            return alertText;
        } finally {
            acceptNextAlert = true;
        }
    }

并基于此link。我们也可以使用

WebDriver popup = webDriver.switchTo()。window(句柄);

    popup.close();

您还可以查看此链接Model Dialog