如何等到C#中的硒自动化测试验证登录



我必须在C#中使用硒进行前端自动化测试。我已经开始学习,然后从文本框中的填充参数开始,然后单击登录按钮。

但要求是,在单击登录按钮后,我需要等待检查登录是否成功,并且仅在成功时才需要继续进行下一个测试。我正在使用visualstudio.testtools.unittesting参考。这是开始方法,只有成功登录后,我才需要继续进行进一步的测试方法。

我一直在这里等待如何等待验证并继续使用下一个方法,以下是我的代码

    [TestMethod]
    public void LoginWithParameters()
    {
        IWebDriver driver = new ChromeDriver();
        driver.Navigate().GoToUrl(ConfigurationManager.AppSettings["TestURL"]);
        var userName = driver.FindElement(By.Id("UserName"));
        var passWord = driver.FindElement(By.Id("Password"));
        var logOn = driver.FindElement(By.XPath("//input[@value='Log On']"));
        userName.SendKeys(ConfigurationManager.AppSettings["UserName"]);
        passWord.SendKeys(ConfigurationManager.AppSettings["Password"]);
        logOn.Click();

        var str = driver.PageSource;
        Assert.IsTrue(str.Contains("Login was unsuccessful"));

    } 

请为此或任何适当的教程提供帮助。谢谢。

很可能成功消息以DIV显示或类似的内容显示。因此您可以使用WebDriverWait。

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
wait.Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(
By.Id("successDivId")));
// code after successful login...

您也可以在此处查看汇总表格-https://automatetheplanet.com/selenium-webdriver-csharp-cheat-sheat/

您在测试中不需要有条件的代码,只需为成功的登录和失败而创建两个不同的测试。

相关内容

最新更新