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

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

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

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

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

1 лайк

Если используется maven surefire, то должна быть возможность указать класс как аргумент командной строки Maven Surefire Plugin – Running a Single Test

2 лайка

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