首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MSBuild下测试失败后,Selenium WebDriver为什么不退出火狐?

在MSBuild下测试失败后,Selenium WebDriver为什么不退出火狐?
EN

Stack Overflow用户
提问于 2013-04-08 20:04:52
回答 1查看 1.4K关注 0票数 1

我在.NET环境中使用Selenium WebDriver。我在NUnit测试运行器中使用WebDriver,就像这样:

代码语言:javascript
复制
    [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所说的:

代码语言:javascript
复制
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

如果测试通过,则执行将按预期进行。

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-08 21:57:11

您正在[Test]方法中创建和销毁浏览器实例。当测试用例失败时,将抛出一个异常,并且您对driver.Quit()的调用永远不会被执行。您可能希望在[SetUp]方法中创建驱动程序实例,并在[TearDown]方法中调用driver.Quit()

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15878588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档