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

StackOverflow https://stackoverflow.com/questions/212863

Вопрос

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

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

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

Спасибо.

Это было полезно?

Решение

По этому вопросу не было много работы. Я не нашел ничего действительно подходящего.

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

Итак, я нашел что-то в блоге 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 позволяло создавать тесты в зависимости от того, в каком браузере вы хотите запустить тест.

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

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

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

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

• ParallelScope.None указывает, что тест не может выполняться параллельно с другими тестами.

• ParallelScope.Self указывает, что тест сам по себе может выполняться параллельно с другими тестами.

• ParallelScope.Дочерние элементы указывают, что потомки теста могут выполняться параллельно по отношению друг к другу.

• ParallelScope.Приборы указывают, что приборы могут запускаться параллельно друг с другом.

Фреймворк NUnit-Параллельное выполнение тестов

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

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

http://igorbrejc.net/development/continuous -Интеграция / Gallio-погонных-тесты-в-параллельной

Вы можете использовать Task Parallel Library и класс DynamicObject, чтобы добиться распараллеливания одного и того же теста в нескольких браузерах. См. Мою статью Запуск Selenium параллельно с любой .NET Unit Testing Tool для подробностей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top