Selenium与NUnit和.Net给出NoSuchElementExcpection

时间:2012-05-10 19:07:04

标签: c# firefox selenium nunit

我正在使用硒进行自动化测试。当测试在Selenium IDE上运行时,它会成功运行,然后在将其作为.Net Web驱动程序导出并使用NUnit运行时,将抛出NoSuchElementsException。请问某人造成这种例外的原因吗?

SeleniumTests.UserNotLogged.TheUserNotLoggedTest:

OpenQA.Selenium.NoSuchElementException:无法找到元素:{“method”:“link text”,“selector”:“”} //来自NUnit的异常

[Test]
    public void TheUserNotLoggedTest()
    {
        driver.Navigate().GoToUrl(baseURL + "Index.aspx");
        driver.FindElement(By.Id("wrapper")).Click();
        driver.FindElement(By.LinkText("Home")).Click();
        driver.FindElement(By.LinkText("News")).Click(); //Exception thrown here
        driver.FindElement(By.LinkText("Events")).Click();
        driver.FindElement(By.LinkText("Contact Us")).Click();
        driver.FindElement(By.LinkText("Register")).Click();
    }

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

在这种情况下,这通常是一个时间问题。我认为这些是导航链接?在这种情况下,很可能Selenium试图在页面加载完成之前找到新闻链接。尝试添加WebDriverWait:

http://seleniumhq.org/docs/04_webdriver_advanced.html

如果仍然无法解决问题,请转到另一种查找链接的方法,例如css选择器或XPath - 只是为了验证您是否可以使用其他方法找到它(尽管不是最好的方法)。