В предыдущей статье мы научились запускать наши Java-тесты в TeamCity. Я подробно описал, как должен выглядеть проект для такого запуска, и настроил сам TeamCity на запуск. Но этот процесс можно улучшить!
Усовершенствование Teamcity
Мой проект выгружен в открытый репозиторий на GitHub, где вы можете скачать его себе и уже начать тестировать!
Я создал там отдельную ветку для запуска наших тестов удалённо
В прошлой статье я рассказывал, как можно настроить импорт вашего проекта из GitHub в Teamcity. Давайте просто изменим название ветки на RemoteWebDriver.
Мы запустили один тест для проверки работоспособности. Сделали это через командную строку, это рабочий способ, но не очень информативный. Так как командная строка знает лишь о успешном и провальном запуске.
К примеру, вы запускаете 10 тестов, и если все они проходят успешно, статус будет «success». Если хотя бы один тест не пройдёт, статус будет «error». Нас такое не устраивает, хотелось бы чётко понимать, сколько тестов прошло успешно, а сколько провалилось!
Давайте добавим ещё один тест, который точно будет выйдет в ошибку и посмотрим как это отображается в Teamcity
Просто ошибка по всему шагу - это очень не информативно!
Из лога мы можем понять, что ошибка то одна, а error по всему шагу
Maven в запуске тестов
Как мы помним, у нас тесты запускаются через Maven, и нас всё в нём устраивает. Может быть, можно настроить тесты в TeamCity через него? Действительно, вместо командной строки мы можем выбрать Maven.
Давайте теперь настроим сам запуск
Команда запуска тестов будет выглядеть следующим образом. Она немного изменилась, теперь нет mvn и мы переместили кавычки (просто небольшие различия синтаксиса)
clean test "-Dtest=JAVATest#File2, JAVATest#File" -DUrlChrome=http://localhost:4445/wd/hub
Path to POM file: - оставляем как есть ведь у нас ссылка на проект из GitHub сразу настроена. Не нужно указывать под папку. Вы можете в этом убедиться нажав на следующую иконку
Далее у нас есть 2 очень важные настройки. Их значения определяют возможность запуска ваших тестов.
Мой тим сити развернут у меня локально на ПК, для демонстрации. Поэтому у меня версия Maven и JDK подтянулись такие же как и на моём ПК.
На вашем проекте может быть организована работа иначе, поэтому важно тщательно изучить эти настройки.
Например, в своём проекте я установил эти параметры на самом агенте. В соответствующих полях я выбрал опцию «Custom» и указал путь к нужным библиотекам.
Параметр «Execute step» определяет, при каком условии будет запущен тот или иной шаг в процессе сборки. Например, можно настроить сборку так, чтобы на первом шаге выполнялся запуск из одной папки, на втором — тесты API и т. д. Возможность запуска следующего шага определяется результатом предыдущего.
Вы можете настроить сборку таким образом, чтобы второй шаг выполнялся только в случае успешного завершения первого, или же сделать так, чтобы он запускался независимо от результата предыдущего шага. Всё зависит от ваших задач и требований.
В моём случае у меня 1 шаг, так что не особо важно что тут выбрать!
Сохраняем настройки и запускаем тесты.
Как видим сейчас тесты будут отображаться более детально. В данном случае у нас один тест прошёл успешно, а один упал!
В следующих статьях разберём как можно получить более детальный отчёт о наших тестах!
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!