创建了一个自定义属性,这样我可以在不重复测试的情况下运行不同的浏览器,但是当我运行测试时,浏览器会在测试开始之前打开,然后在测试开始时再次打开。为什么会这样?
当我删除启动Webdriver的代码时,则没有浏览器启动。 在测试类中创建网络驱动程序后,它将可以正常工作。
测试方法
[Theory]
[Browser("Chrome")]
public void TestName(IWebDriver driver)
{
driver.Navigate().GoToUrl(_baseUrl);
}
自定义属性
public class BrowserAttribute : DataAttribute
{
string _browser;
IWebDriver _driver;
public BrowserAttribute(string browser)
{
_browser = browser;
_driver = new ChromeDriver(@"some path");
}
public override IEnumerable<object[]> GetData(MethodInfo testMethod)
{
return new List<IWebDriver[]> { new[] { _driver } };
}
}
我希望只打开一个浏览器,但会打开两个。