Кто-нибудь нашел способ запустить тесты Selenium RC / Selenium Grid, написанные на C# параллельно?
В настоящее время у меня есть значительный набор тестов, написанный с использованием драйвера C# Selenium RC. Выполнение всего набора тестов занимает чуть больше часа. Обычно мне не нужно запускать весь пакет, поэтому до сих пор это не было проблемой, но я хотел бы иметь возможность делать это более регулярно (то есть как часть автоматизированной сборки)
Недавно я потратил некоторое время на изучение проекта Selenium Grid, цель которого, по сути, состоит в том, чтобы позволить этим тестам выполняться параллельно. К сожалению, похоже, что плагин TestDriven.net, который я использую, запускает тесты последовательно (то есть один за другим). Я предполагаю, что NUnit будет выполнять тесты аналогичным образом, хотя я на самом деле не проверял это.
Я заметил, что бета-версии NUnit 2.5 начинают говорить о запуске тестов параллельно с pNUnit, но я еще недостаточно ознакомился с проектом, чтобы точно знать, сработает ли это.
Другой вариант, который я рассматриваю, - это разделение моего набора тестов на разные библиотеки, что позволило бы мне запускать тест из каждой библиотеки одновременно, но я бы хотел избежать этого, если это возможно, поскольку я не уверен, что это веская причина для разделения. набор тестов.





Я не знаю, считается ли ни один ответ ответом, но я бы сказал, что вы все исследовали и действительно придумали 2 возможных решения ...
Я ничего не понимаю в другом.
Я написал PNUnit как расширение для NUnit почти три года назад, и я рад видеть, что он наконец был интегрирован в NUnit.
Мы используем его ежедневно для тестирования нашего программного обеспечения в различных дистрибутивах и комбинациях. Приведу пример: у нас есть набор тяжелых тестов (длинных), состоящий примерно из 210 тестов. Каждый из них настраивает сервер и запускает клиент в командной строке, выполняя несколько операций (до 210 сценариев).
Что ж, мы используем один и тот же набор для запуска тестов в различных комбинациях Linux и вариантах Windows, а также комбинированных, таких как сервер Windows с клиентом Linux, Windows XP, Vista, затем контроллер домена, вне домена и так далее. Мы используем одни и те же двоичные файлы, а затем просто запускаем «агентов» на нескольких ящиках.
Мы используем ту же платформу для: балансировки нагрузки, тестовой нагрузки -> я имею в виду, более быстрой работы по частям. Выполнение нескольких комбинаций одновременно, и то, что я считаю более интересным: определение сценариев с несколькими клиентами: два клиента ждут запуска сервера, затем запускают операции, синхронизируются друг с другом и так далее. Также мы используем PNUnit для нагрузочного тестирования (сотни ящиков против одного сервера).
Так что, если у вас есть какие-либо вопросы о том, как его настроить (что, боюсь, пока непросто), не стесняйтесь спрашивать.
Также я давно написал об этом статью в DDJ: http://www.ddj.com/architect/193104810
Надеюсь, это поможет
Я работаю именно над этим и обнаружил, что последняя версия Галлио может параллельно проводить тесты mbUnit. Вы можете направить их к одному концентратору Селеновая сетка, который может прослушивать несколько серверов удаленного управления.
Я использую последний вечер от Галлио, чтобы получить ParallelizableAttribute и Атрибут DegreeOfParallelismAttribute.
Я заметил кое-что: я не могу полагаться на TestSet и TestTeardown, чтобы изолировать параллельные тесты. Вам понадобится тест, чтобы он выглядел примерно так:
[Test] public void Foo(){
var s = new DefaultSelenium("http://grid", 4444, "*firefox",
"http://server-under-test");
s.Start();
s.Open("mypage.aspx");
// Continue
s.Stop();
}
Использование атрибута [SetUp] для запуска сеанса Selenium приводило к тому, что тесты не получали удаленный сеанс от s.Start().
Спасибо за ваш ответ. На данный момент я отказался от этого проекта, но когда вернусь к нему, я попробую ваше решение!