Подтвердить что ты не робот

Как заставить Jenkins запускать тесты Selenium WebDriver/TestNG/Java автоматически при развертывании и что Maven должен делать со всем этим?

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

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

Они все говорят "используйте ваши тесты селена севера" и т.д. и т.д.

EDIT: после некоторых исследований выяснилось, что мне нужно установить Maven в Jenkins и на моем компьютере, установить плагин maven для Eclipse и создать/преобразовать мои проекты в качестве проектов Maven. Как перенести мои проекты Maven в Jenkins? Я экспортирую в .jar или перемещаю всю папку на сервере? Как связать все вместе с xvfb?

Итак, вот что я знаю до сих пор

  • Установите Jenkins (у нас уже есть это на нашем сервере)
  • Установить плагины для Jenkins (какие?)
  • Установите xvfb, чтобы тесты выполнялись в браузере без браузера (как я могу указать это в тестовом сценарии Java?)
  • Установите Maven на компьютер, jenkins и eclipse, используйте проекты maven.
  • Какую часть моей папки проекта с рабочего места eclipse я должен загрузить на сервер и где? У меня есть файл testng.xml и некоторые классы (которые являются acutal-тестами)
  • Как сообщить Jenkins автоматически запускать тесты Selenium Webdriver после развертывания и на какой файл я указываю?
  • Как получить отчеты - через TestNg или через некоторые функции Jenkins?
4b9b3361

Ответ 1

Ответы, следующие за вашим списком:
Q1. Установите Jenkins (у нас уже есть это на нашем сервере)
A1. Не нужно.

Q2. Установите плагины для Дженкинса (какие?)
A2. Насколько я помню, для этой цели не нужен специальный плагин. Дженкинс должен иметь возможность запускать maven или ant задание, это из коробки.

Q3. Установите xvfb, чтобы тесты выполнялись в безгласном браузере (как я могу указать это в письменном тесте Java?)
A3. В ваших тестах Java вы укажете хост, где должен быть запущен браузер (более технически, хост, который запускает сервер selenium). Обычно это "localhost", но для этого случая он будет другим (обычно не рекомендуется запускать jenkins и selenium в том же поле). Итак, в вашем java-коде вы укажете, что хост с xvfb И с сеткой селена (который по умолчанию слушает порт 4444). Также считается хорошей практикой, чтобы исключить эту информацию из кода (файлы свойств и, кроме того, переменные в файле pom или предоставленные jenkins).

Q4. Установите Maven на компьютер, jenkins и eclipse, используйте проекты maven.
A4. Maven должен быть установлен на хосте jenkins (и ваш локальный компьютер, тот, который вы используете для разработки тестов).

Q5. Какую часть моей папки проекта на рабочем месте eclipse я должен загрузить на сервер и где? У меня есть файл testng.xml и некоторые классы (которые являются acutal tests)
A5. Ваш код находится под контролем версий (правильно?), Поэтому вы указываете jenkins для извлечения вашего проекта (затем компилируйте код, компилируйте тесты, запускайте тесты...). Ответ: "по крайней мере, весь код, необходимый для компиляции ваших тестов и запуска их". Дженкинс строит ваш проект из источника, а выполнение теста - всего лишь фаза этого процесса.

Q6. Как сообщить Jenkins автоматически запускать тесты Selenium Webdriver после развертывания и на какой файл я указываю?
A6. используйте фазу "интеграция-тест", обслуживаемую плагином surefire.

В7. Как получить отчеты - через TestNg или через функцию Jenkins?
A7. Дженкинс будет отображать (и распространять, если настроено таким образом) отчеты, созданные testng.

Ответ 2

Даже я выясняю ту же проблему. Когда я начал настраивать проект WebDriver в проект Maven и попытался настроить его на jenkins. необходимо пройти через много учебников и опубликовать в Интернете. Поэтому я, хотя и записываю свои собственные. Дайте мне знать, если это поможет http://qtp-help.blogspot.in/2013/09/webdriver-with-maven.html

Ответ 3

Если вы хотите сказать, что Jenkins запускает вашу сборку каждый раз при развертывании, сделайте следующие настройки в проекте Jenkins

Jenkins Build Settings

Таким образом, вы говорите, что Дженкинс проверяет репозиторий на обновления каждые 15 минут, и если обновление обнаружено, Jenkins запускает сборку автоматически. Вы можете гибко изменить время по мере необходимости.