[英]Nunit Selenium Parallel Tests with Values
我正在尝试使用不同的值并行运行相同的nunit Test方法。 然而第二次测试似乎失败了(我认为它试图使用浏览器的第一个实例;
这是考验;
namespace AutomationProject.Login_Test_Cases
{
[TestFixture]
[Parallelizable(ParallelScope.Children)]
class Login_Test_Cases: BaseTest
{
[Test]
public void LoginPar([Values("skynet" ,"skynet2")] string username)
{
lg.Log_In(username, "password");
}
}
}
这是设置浏览器的baseTest;
namespace AutomationProject.BaseClasses
{
public class BaseTest
{
public Log_In_Methods lg;
public IWebDriver driver;
[SetUp]
public void StartBrowser()
{
System.Diagnostics.Trace.AutoFlush = true;
ChromeOptions options = new ChromeOptions();
options.AddAdditionalCapability("useAutomationExtension", false);
driver = new ChromeDriver(//path to chrome driver);
lg = new Log_In_Methods(driver);
driver.Manage().Window.Maximize();
driver.Url = "http://login-test.com";
}
我还将[assembly:Parallelizable(ParallelScope.Children)] [assembly:LevelOfParallelism(2)]添加到AssemblyInfo
第二次测试似乎总是失败(浏览器甚至没有获取网址)
我可以并行运行不同的类和测试,没有任何问题。
有谁知道是否可以与不同的值并行运行相同的测试方法?
有谁知道是否可以与不同的值并行运行相同的测试方法?
这绝对是可能的。 这里的问题是两个测试在BaseTest类的单个实例上并行运行,因此您只有一个lg
字段,两个测试都试图同时创建/使用。
能够使用两个单独的BaseTest
对象运行两个单独的测试是一个开放的功能请求,请参见此处: https : //github.com/nunit/nunit/issues/2574
与此同时,如果您要在测试方法中包含[SetUp]
逻辑并使用局部变量,那么您尝试做的事情应该可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.