Доброго времени суток! Работаю тестировщиком(очень сильно начинающим) на проекте по разработке веб-приложения. Использую стек 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 лайка
Всегда именно так и делал Создаешь параметризированную джобу и там передаешь свой тест, какой хочешь, вручную