Селеновая сетка + Maven 2

Есть ли хороший учебник или у кого-нибудь есть опыт настройки? У меня есть Testsuite.html, который запускает мои тесты в одном браузере. Это делается в жизненном цикле интеграционного тестирования плагином maven selenium. Я хочу запускать свои тесты в нескольких браузерах. Я не смог найти никакой документации о селеновой сетке + maven. Я надеюсь, что кто-нибудь может мне помочь.

Заранее спасибо, кукудас


person kukudas    schedule 05.02.2009    source источник


Ответы (1)


Selenium Grid и maven на самом деле мало чем отличаются от Selenium и maven.

Grid, по сути, является заменой selenium-rc. В нашей текущей настройке мы позволяем автоматизированной системе сборки использовать Grid. Это достигается путем простого изменения URL-адреса selenium-rc (обычно это localhost:4444) на URL-адрес сетки.

Кроме того, мы указываем строку браузера (*firefox, *iexplore, *opera или что-то еще) в качестве системного свойства в командной строке mvn, которую мы получаем при инициализации клиентских библиотек selenium в нашем коде.

Итак, как мы это сделали, мы в основном настроили 4 разных проекта сборки с разными строками браузера.

person krosenvold    schedule 05.02.2009
comment
Кстати: рекомендуется ли запускать тесты как html? я много читал, что это на самом деле не используется, это больше похоже на преобразование кода в java - junit. Я думаю, что, с одной стороны, у меня больше гибкости, но, с другой стороны, я должен постоянно преобразовывать свои изменения, если только это не незначительные изменения. - person kukudas; 05.02.2009
comment
Мы только делаем junit-тесты на основе Java. После небольших первоначальных вложений гибкость, которую вы получаете, колоссальна. Но мы не используем рекордер, только firefox и firebug. - person krosenvold; 05.02.2009
comment
Как запустить хаб? Можно ли это сделать с помощью плагина maven-selenium? Не могли бы вы предоставить тривиальный образец? Я преобразовал свой тест в junit и запустил сервер селена с плагином maven. Запускает ли startSeleniumSession() RC? Я не знаю, как запустить хаб, мне нужно использовать муравей? - person kukudas; 05.02.2009
comment
Мы просто запускаем хаб отдельно на машине. Не привлекайте maven к запуску хаба, на этом пути просто ненужная боль. И да, хаб начинается с ant, так что просто плывите по течению и следуйте инструкциям хаба. - person krosenvold; 05.02.2009
comment
Hub и selenium rc могут/должны работать как отдельные приложения в вашей среде. Именно для этого они были разработаны. Поэтому, хотя вы можете запустить их из maven, мы потратили много часов на то, чтобы выяснить, что лучше всего запускать его из оболочки отдельно. - person krosenvold; 05.02.2009
comment
Привет, я последовал вашим советам и запустил Hub и RC с помощью консоли. Кажется, это работает, если я вызываю Hub следующим образом: selenium = new DefaultSelenium(host, port, *opera, url); как я могу заставить свои тесты junit работать параллельно и использовать все зарегистрированные RC, например. я хочу запустить 2 теста параллельно в ff+ie. - person kukudas; 06.02.2009
comment
Я думаю, пришло время задать еще один вопрос о SO;) - person krosenvold; 06.02.2009
comment
Наша система сборки обрабатывает параллельные сборки, поэтому мы просто запускаем несколько сборок, по одной для каждого браузера. Таким образом мы избегаем проблемы параллельных junit-тестов. Есть способы сделать это тоже, но это может быть больше проблем, чем того стоит. - person krosenvold; 06.02.2009
comment
Ваше право, я должен задать другой вопрос, я отмечу ваш ответ как решение, еще раз спасибо. - person kukudas; 06.02.2009
comment
@krosenvold, в чем тогда смысл использования концентратора? Вы добавляете посредника (концентратор, возможно, на машине, отличной от hudson И от реальных селеновых RC), в то время как вы можете просто настроить систему сборки для использования реальных адресов RC вместо концентратора. Единственное преимущество, которое я вижу в вознаграждении, - это единственное место, где реальные местоположения RC могут быть настроены для нескольких проектов, чего (с maven) можно достичь, определив их в файле hudson ~/.m2/settings.xml. Я ошибся? Не ухудшает ли ваше решение производительность тестов? - person Artur Gajowy; 05.07.2011
comment
Ну и ладно: есть дополнительная польза от очереди для каждого реального RC, которая может помочь при одновременной сборке hudson двух проектов, протестированных селеном. - person Artur Gajowy; 05.07.2011