Настройка Selenium Grid + PNunit + С# тесты.

Привет всем!
Появилась необходимость запускать параллельно тесты. Сами тесты написаны на C#.
Сталкивался кто-то с PNunit? Как его настроить и связать с Selenium Grid?

Если не трудно, то с какими-нибудь примерами.
Спасибо)

@dzhariy - твой выход по C# :smile:

Пользуюсь NUnit.Parallel https://cpntr.codeplex.com/
В коде ничего не нужно добавлять для параллельного запуска.

Вот так запускаю в гриде
Driver = new RemoteWebDriver(new Uri(<hub_url>), DesiredCapabilities.Chrome());

1 лайк

Спасибо! Прикольная тулза. А не подскажешь как в ней запускать разные TestFixture в параллель, а не отдельные тесты?

Не нашел такой фичи там.
Возможно не совсем тебя понял.
Опиши цель, которую хочешь достичь.

Правильно ли я понял, что ты хочешь сохранить порядок выполнения тестов в пределах одной фикстуры или выполнять все тесты фикстуры только на определенной ноде?
Нужно уточнение )

У меня тесты хранятся по фичам в классах(TestFixture). Тесты написаны так, что в TestFixtureSetUp инициализируется драйвер и закрывается только когда тесты класса все пройдут.

У меня получилось этой прогой запукскать тесты в параллель для одной TestFixture (куча открытых окон и в них бегут тесты для одного класса), а я хочу, чтобы в разных окнах браузера бежали разные TestFixture.

Смотрели в сторону Gallio Icarus? Gallio

Только есть маленькая проблемка - он больше не саппортится(

Спасибо всем кто отписался здесь.
Решание было найдено следующее : использовать бета версию NUnit 3.0, которрый поддерживает параллельный запуск тестов. Единственное, что нужно добавить в коде - аттрибут Parallezible. Стоит отметить, что он пока поддерживает только запуск TestFixture в параллель.
И еще один ньюанс : тесты он запускает по дефолту в количество потоков равное количеству ядер процессора. Чтобы увеличить количество потоков, то нужна через Console-nunit указывать параметр --workers = n, где n-количество потоков.

И, конечно же, прийдется переписывать код, чтобы сделать его Thread-safe.
Всем удачи)