我在.NET环境中使用Selenium WebDriver。我在NUnit测试运行器中使用WebDriver,就像这样:
[Test]
public static void Should_register_user()
{
IWebDriver driver = new FirefoxDriver();
...
driver.Quit();
}它工作得很好。如果我像这样从MSBuild脚本运行此测试: packages\NUnit.Runners.2.6.2\Tools\nunit-console.exe /nologo S022.SeleniumTests.dll /xml=NUnit.Report.xml (无论我使用的是NUnit社区任务还是exec任务)。测试执行,但如果失败,Firefox浏览器仍处于打开状态,脚本中的执行将等待我关闭浏览器窗口。当我这样做的时候,脚本会进一步执行。
这就是Selenium所说的:
ProcessModel: Default DomainUsage: Single
Execution Runtime: net-3.5
.F
Tests run: 1, Errors: 0, Failures: 1, Inconclusive: 0, Time: 10,3118323 secon
ds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Errors and Failures:
1) Test Failure : S022.SeleniumTests.RegistrationTests.Should_register
_user
Expected string length 6 but was 11. Strings differ at index 0.
Expected: "Log-in"
But was: "News"
-----------^
at S022.SeleniumTests.RegistrationTests.Should_register_user() in S022.SeleniumTests\T
ests\RegistrationTests.cs:line 22如果测试通过,则执行将按预期进行。
我做错了什么?
发布于 2013-04-08 21:57:11
您正在[Test]方法中创建和销毁浏览器实例。当测试用例失败时,将抛出一个异常,并且您对driver.Quit()的调用永远不会被执行。您可能希望在[SetUp]方法中创建驱动程序实例,并在[TearDown]方法中调用driver.Quit()。
https://stackoverflow.com/questions/15878588
复制相似问题