Настройка Jenkins для запуска тестов в BrowserStack (Maven проект)

Настройка Jenkins для запуска тестов в BrowserStack (Maven проект)

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Всем привет после долгого отсутствия. В последние статье мы рассмотрели использование такого замечательно Cloud ресурса для запуска тестов как BrowserStack.

Хочу продолжить эту тему, а также затронуть настройку Jenkins (мы рассматривали только CruiseControl и TeamCity) для интеграции тестов, которые будут храниться в стандартных TestNG XML-сьютах.

Не буду рассказывать, как устанавливать Jenkins, – полно источников, где об этом можно узнать. Приступлю непосредственно с разбора настройки нашей проекта. Для этого нам понадобится сперва его создать. Он должен иметь тип – проект maven:

jenkins1

Предположим, что наш проект будет параметризированным, а параметризировать мы будем:

  • список ссылок, на которых будут раниться тесты (тест, стейдж, продакшен-сервер);
  • параметризированные TestNG XML-сьюты с установками разных браузеров, операционных систем для BrowserStack;
  • список удаленных веток GitHub

Приступим…

Начнем с настройки списка веток GitHub. В основных настройках отметим галочку – “Это – параметризованная сборка” и со списка выберем “Extended Choice Parameter”. Для появления этой опции нужно установить Extended Choice Parameter Plug-In плагин. Далее довольно простые настройки. Один только сложный момент, – написание Groovy-скрипта для подтягивания наших удаленных веток на GitHub. Здесь собраны довольно хорошие примеры.

jenkins3

Далее воспользуемся опцией “Choice Parameter” (для нее не нужно специально устанавливать плагин) для настройки выбора TestNG-сьютов, а также списка ссылок:

jenkins4

Далее настроим сам репозиторий Git:

jenkins6

А также установим BrowserStack плагин и добавим в него наш аккаунт:

jenkins8

Подошел черед к настройке нашей сборки c параметризированной командой Maven:

jenkins7

Таким образом, после сохранения наша параметризированная сборка будет иметь следующий вид:

jenkins9

Всем спасибо!