Nunit Selenium 具有值的并行测试
Nunit Selenium Parallel Tests with Values
我正在尝试 运行 具有不同值的相同 nunit 测试方法并行。但是第二个测试似乎失败了(我认为它正在尝试使用浏览器的第一个实例;
这是测试;
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)]
[程序集:LevelOfParallelism(2)] 到 AssemblyInfo
第二个测试似乎总是失败(浏览器甚至没有得到url)
我可以 运行 不同的 类 并且并行测试没有问题。
有谁知道是否可以 运行 相同的测试方法与不同的值并行?
Does anyone know if it's possible to run the same test method in parallel with different values?
这是绝对有可能的。这里的问题是两个测试 运行 在 BaseTest class 的单个实例上并行进行,因此你只有一个 lg
字段,两个测试都试图 create/use同时
能够 运行 使用两个单独的 BaseTest
对象进行两个单独的测试是一个开放的功能请求,请参见此处:https://github.com/nunit/nunit/issues/2574
与此同时,如果您要在测试方法中包含 [SetUp]
逻辑并使用局部变量,那么您尝试执行的操作应该有效。
我正在尝试 运行 具有不同值的相同 nunit 测试方法并行。但是第二个测试似乎失败了(我认为它正在尝试使用浏览器的第一个实例;
这是测试;
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)] [程序集:LevelOfParallelism(2)] 到 AssemblyInfo
第二个测试似乎总是失败(浏览器甚至没有得到url)
我可以 运行 不同的 类 并且并行测试没有问题。
有谁知道是否可以 运行 相同的测试方法与不同的值并行?
Does anyone know if it's possible to run the same test method in parallel with different values?
这是绝对有可能的。这里的问题是两个测试 运行 在 BaseTest class 的单个实例上并行进行,因此你只有一个 lg
字段,两个测试都试图 create/use同时
能够 运行 使用两个单独的 BaseTest
对象进行两个单独的测试是一个开放的功能请求,请参见此处:https://github.com/nunit/nunit/issues/2574
与此同时,如果您要在测试方法中包含 [SetUp]
逻辑并使用局部变量,那么您尝试执行的操作应该有效。