Я хочу запустить мои тесты на селен параллельно и установить следующее в файле assembly.cs.
[assembly: Parallelizable(ParallelScope.Fixtures)]
Хорошо, хорошо. Это работает.
Вот краткий пример структуры кода
using NUnit.Framework;
namespace MyExample
{
[TestFixture]
[Category("TestsRunningWithLogin1")]
public class Test_Example1
{
[Test, Order(1)]
public void Test1()
{
}
[Test, Order(2)]
public void Test2()
{
}
}
[TestFixture]
[Category("TestsRunningWithLogin2")]
public class Test_Example2
{
[Test, Order(1)]
public void Test1()
{
}
[Test, Order(2)]
public void Test2()
{
}
}
}
Тесты требуют имя пользователя и пароль и делают что-то на веб-странице. Вход в систему и т. Д. В настоящее время обрабатывается методом OneTimeSetUp. Веб-страница сохраняет последний использованный вид в пользовательских настройках.
Если я запускаю тесты последовательно, у меня нет проблем, потому что тесты не влияют друг на друга. Все тесты могут выполняться с одним и тем же именем пользователя.
Если я проведу это параллельно, они могут влиять друг на друга. Например, test1 настраивает представление, что не должно быть видно в test2.
Моя идея состояла в том, чтобы проводить занятия (а их много) с разными пользователями. Когда тест начинается, он должен принять имя пользователя, которое в настоящее время не используется в параллельных тестах. В настоящее время я не знаю, какие тесты выполняются параллельно с помощью nunit, поэтому я не могу параметризовать их напрямую.
Я не нашел ничего, как управлять параллельными тестами. Я могу определить, если параллельно или нет и сколько выполняется параллельно. То, что я хочу, это дать параметры параллельного запуска тестов. Если у меня есть 3 параллельно работающих тестовых класса, я хочу задать все 3 различных параметра.
Есть идеи, как этого добиться?