Nunit 3重试n次

时间:2016-06-26 10:47:02

标签: c# .net selenium-webdriver nunit

我想从头开始运行测试n次,即退出驱动程序并再次运行安装程序。但是retry属性不会退出驱动程序,它只是再次运行测试用例。

[TestFixture(typeof(ChromeDriver))]
public class TestWithMultipleBrowsers<TWebDriver> where TWebDriver : IWebDriver, new()
{
    #region Setup
    private IWebDriver driver;

    [TestFixtureSetUp]
    public void CreateDriver()
    {
        if (typeof(TWebDriver).Name == "ChromeDriver")
        {
            driver = new ChromeDriver(@"C:\ChromeDriver");
        }
        else
        {
            driver = new TWebDriver();
        }
    }
    [TestFixtureTearDown]
    public void FixtureTearDown()
    {
        if (driver != null) driver.Quit();
    }
    [Test,Retry(2)]
    [TestCase("jobsearch")]
    [TestCase("employer")]
    public void GoogleTest(string search)
    {
        driver.Navigate().GoToUrl("http://www.google.com/");
        IWebElement query = driver.FindElement(By.Name("q"));
        query.SendKeys(search + Keys.Enter);
        Thread.Sleep(1000);
        Assert.AreEqual(search + " - Google Search", driver.Title);
    }
    #endregion
}

1 个答案:

答案 0 :(得分:3)

  

我想从头开始运行测试n次,即退出驱动程序并再次运行安装程序。

未再次调用CreateDriver方法的原因是因为您使用[TestFixtureSetUp]属性,该属性仅对[TestFixture]运行一次。如果要在每次测试之前运行设置方法,请改用[Setup]属性。

[TestFixtureTearDown]属性也是如此。如果在每次测试后都应该这样做,则应使用[TearDown]属性。