1

我正在使用 selenium 进行自动化测试。当测试在 Selenium IDE 上运行时,它会成功运行,当将其导出为 .Net Web 驱动程序并使用 NUnit 运行时,会抛出 NoSuchElementsException。请问有人是什么导致了这个异常吗?

SeleniumTests.UserNotLogged.TheUserNotLoggedTest:

OpenQA.Selenium.NoSuchElementException : Unable to locate element: {"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();
    }

谢谢你的帮助

4

1 回答 1

3

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

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

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

于 2012-05-10T19:10:18.633 回答