Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Управление запуском автоматизированных тестов из Jenkins

jenkins
page-object
execution
maven
java
testng
Теги: #<Tag:0x00007fedb9840018> #<Tag:0x00007fedb9847e80> #<Tag:0x00007fedb9847d40> #<Tag:0x00007fedb9847c00> #<Tag:0x00007fedb9847ac0> #<Tag:0x00007fedb9847980>

(Роман Кирсанов) #1

Доброго времени суток! Работаю тестировщиком(очень сильно начинающим) на проекте по разработке веб-приложения. Использую стек JAVA+MAVEN+TETNG+JENKINS+PAGEOBJECT. Разработку веду в IntelliJIdea. Столкнулся с проблемой запуска автотестов из Jenkins. Для каждого вновь написанного автотеста создаю job и каждый раз подтягиваю весь проект с тестами из Git по SSH ( разработка и тестирование ведется на удаленных серверах проекта)с соответствующей ветки.Разница компонентов разных веток лишь в фалйе TestNg, где указываю нужный для запуска тест. Такой подход крайне неудобен- так как каждый раз приходится подтягивать весь проект,а в случае исправлений в одной ветке, в других ветках с проектом изменения не подтягиваются.
Есть ли какой либо способ указывать/задавать параметр в Jenkins, чтобы не дублировать проект в куче веток Git, а напрямую указывать на тестовый класс,который необходимо запустить? Спасибо!


#2

Например, так.
Создать файлы:

  • testng-set1.xml
  • testng-set2.xml
  • и т.д.

Создать в дженкинсе параметризованную задачу, при запуске передавать параметр - какой файл использовать.
Перед запуском тестов переименовывать заданный файл в testng.xml.
Возможно, для параметризации и запуска пре-билд скрипта нужны какие-то плагины, точный список не подскажу, но найти будет несложно.


#3

Если используется maven surefire, то должна быть возможность указать класс как аргумент командной строки http://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html


(Eugene Moskalenko) #4

Всегда именно так и делал :slight_smile: Создаешь параметризированную джобу и там передаешь свой тест, какой хочешь, вручную