有没有办法让NUnit在同一个类中使用相同的浏览器窗口运行测试并与其他类中的测试并行?
Login.cs
class Login {
[SetUp]
public void login() {
//Must Login-in once before the "Test Suite" on CustomerCRUD class
...
}
}
CustomerCRUD.cs
[Parallelizable]
class CustomersCrud: Login {
[WebTest]
public void Test1() {
//Test something and when done, even if failed must go to test2 using the same browser window
...
}
[WebTest]
public void Test2() {
//Test something and when done, even if failed, must tear down
...
}
}
答案 0 :(得分:1)
您可以创建IWebDriver的类变量并在默认构造函数中初始化它。然后只需将该驱动程序实例用于该特定类中的所有测试。为了在最后一次测试运行后退出潜水员,您可以将某种计数器或指示器保留为类变量,然后在TearDown方法中检查该变量以及它是否与最后一次测试调用驱动程序的值匹配.Dispose( )
修改强> 如果您更喜欢在Setup方法中初始化IWebDriver,仍然使用一个字段来保存您的IWebDriver实例,并在Setup方法中检查IWebDriver变量(字段)是否为null。如果它不是null,那么就不要做任何事情。