Как я могу запустить тесты NUnit (Selenium Grid) параллельно?

В моем текущем проекте NUnit используется для модульных тестов и для управления UAT, написанными с помощью Selenium. Разработчики обычно запускают тесты с помощью средства запуска тестов ReSharper в VS.Net 2003, а наша сборка запускает их через NAnt.

Мы хотели бы запустить тесты UAT параллельно, чтобы мы могли воспользоваться преимуществами Selenium Grid / RC, чтобы они могли работать намного быстрее.

Есть ли у кого-нибудь мысли о том, как этого можно достичь? и / или лучшие практики для тестирования тестов Selenium в среде с несколькими браузерами без автоматического написания дублирующих тестов?

Спасибо.

Отвечает ли это на ваш вопрос? Как я могу запускать тесты NUnit параллельно?

Michael Freidgeim 11.06.2020 13:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
1
11 685
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Работы по этой теме было не так много. Я не нашел ничего подходящего.

Однако ваша точка зрения хорошо понята. Большинство машин в настоящее время имеют больше ядер и менее мощные ядра по сравнению с мощным одноядерным процессором.

Так что я кое-что нашел в блоге Microsoft. Технология называется PUnit и создана специально для тестирования многопоточной среды.

Это максимально близко к тому, что вы просили, чтобы я смог найти :)

Вы можете посетить соответствующую запись в блоге прямо здесь: http://blogs.microsoft.co.il/blogs/eyal/archive/2008/07/09/punit-parallel-unit-testing-in-making.aspx

Обновление: ссылка больше не действительна. Проект на CodePlex удален.

Обновление 2: это на дорожной карте для NUnit 2.5. Справка

Я сам боролся с обеими этими проблемами. В конце концов, я разработал специальный инструмент запуска тестов Nunit, который может выполнять несколько тестов параллельно. Это в сочетании с расширением Taumuon.Rakija для nunit позволило динамически создавать тесты в зависимости от того, в каком браузере вы хотите запускать тест.

Теперь у меня есть возможность запустить свой набор тестов параллельно с любым количеством браузеров в любом количестве операционных систем.

К сожалению, у этих проблем пока нет хорошего решения, поэтому вам, вероятно, придется решать их самостоятельно для вашей конкретной среды.

Как насчет того, чтобы вы открыли исходный код?

ripper234 14.12.2009 10:22

У Игоря Брейца есть запись в блоге о параллельном запуске тестов с использованием MbUnit.

Однако он говорит: «Как только мы интегрируем Selenium в приемочное тестирование», поэтому похоже, что он просто экспериментировал, я не могу найти никаких других сообщений, поэтому я не знаю, успешно ли он запускал тесты Selenium параллельно.

http://igorbrejc.net/development/continuous-integration/gallio-running-tests-in-parallel

Вы можете использовать параллельную библиотеку задач и класс DynamicObject, чтобы добиться распараллеливания одного и того же теста в нескольких браузерах. Подробнее см. Мою статью Запуск Selenium параллельно с любым инструментом модульного тестирования .NET.

NUnit версии 3 будет поддерживать параллельное выполнение тестов, это хорошо работает с Selenium Grid:

Добавление атрибута в класс: [Parallelizable(ParallelScope.Self)] будет запускать ваши тесты параллельно с другими тестовыми классами.

• ParallelScope.None indicates that the test may not be run in parallel with other tests.

• ParallelScope.Self indicates that the test itself may be run in parallel with other tests.

• ParallelScope.Children indicates that the descendants of the test may be run in parallel with respect to one another.

• ParallelScope.Fixtures indicates that fixtures may be run in parallel with one another.

NUnit Framework-Параллельное-Тест-Выполнение

Другие вопросы по теме