t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f9afb53cda0> #<Tag:0x00007f9afb53cc88> #<Tag:0x00007f9afb53cb98> #<Tag:0x00007f9afb53ca80> #<Tag:0x00007f9afb53c9b8> #<Tag:0x00007f9afb53c8a0>

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

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

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

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

1 Симпатия

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

2 Симпатий

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