Как я могу запустить тесты NUnit (Selenium Grid) параллельно? - PullRequest
8 голосов
/ 17 октября 2008

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

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

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

Спасибо.

Ответы [ 5 ]

5 голосов
/ 17 октября 2008

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

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

Так что я нашел что-то в блоге 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. Ссылка

2 голосов
/ 12 декабря 2008

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

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

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

1 голос
/ 27 августа 2015

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

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

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

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

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

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

NUnit Framework-Parallel-Test-Execution

0 голосов
/ 20 сентября 2014

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

0 голосов
/ 13 августа 2009

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

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

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

...