【发布时间】:2012-10-13 04:47:20
【问题描述】:
我有一个使用 Selenium WebDriver 的 C# 单元测试来测试是否存在链接。代码如下:
[TestMethod()]
public void RegisterLinkExistTest()
{
IWebElement registerLink = genericBrowserDriver.FindElement(By.PartialLinkText ("Register1"));
Assert.AreEqual("Register here", registerLink.Text, "Failed");
}
我想看看如果我将 PartialLinkText 设置为“Register1”而不是“Register”会发生什么。 MSTest 未能通过 Selenium 引发的异常而导致此测试。我希望 Assert.AreEqual 执行,但 MSTest 在上一行抛出异常。我知道我可以使用 ExpectedException 属性来指定“OpenQA.Selenium.NoSuchElementException”,但我不想这样做,因为我不期待那个异常。我该如何处理?
【问题讨论】:
-
不清楚,你显然知道它不应该存在,因此你会得到一个例外。因此,测试的行为符合预期。
-
我不希望 MSTest 在这种情况下抛出未处理的异常。例如,如果我正在寻找一个正确的链接“注册”并且该站点没有它,我将如何使代码不抛出未处理的异常而是执行 Assert 语句?