尽管使用了driver.Quit();

时间:2016-12-29 11:20:33

标签: c# selenium selenium-chromedriver xunit

我正在尝试将我的Selenium Nunit测试转换为Xunit,而我仍然坚持要求驱动程序退出。

尽管使用了driver.Quit();

,但只有当测试失败时,Xunit才会关闭Selenium webdriver进程或chrome浏览器。

测试看起来像这样

  [Fact]
        public void test1()
        {
            SetupTest();
//testing something that fails
            TeardownTest();
        }

SetupTest

 internal static void SetupTest()
        {
            driver = new ChromeDriver();
            verificationErrors = new StringBuilder();
            driver.Navigate().GoToUrl(baseUrl); 
            driver.Manage().Window.Maximize(); 
        }

TeardownTest

internal static void TeardownTest()
{
    try
    {
        driver.Quit();
    }
    catch (Exception)
    {
        // Ignore errors if unable to close the browser
    }
    Assert.Equal("", verificationErrors.ToString());
}

1 个答案:

答案 0 :(得分:0)

您可以使用try ... finally构造或实现IDisposable接口并在Dispose()中调用TeardownTest方法

[Fact]
public void test1()
{
    try{
        SetupTest();
        //testing something that fails
    }finally{
        TeardownTest();
    }
}