我想从头开始运行测试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
}
答案 0 :(得分:3)
我想从头开始运行测试n次,即退出驱动程序并再次运行安装程序。
未再次调用CreateDriver
方法的原因是因为您使用[TestFixtureSetUp]
属性,该属性仅对[TestFixture]
运行一次。如果要在每次测试之前运行设置方法,请改用[Setup]
属性。
[TestFixtureTearDown]
属性也是如此。如果在每次测试后都应该这样做,则应使用[TearDown]
属性。