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

page-object
jenkins
execution
maven
testng
java
Теги: #<Tag:0x00007fedc74391f0> #<Tag:0x00007fedc74390b0> #<Tag:0x00007fedc7438f48> #<Tag:0x00007fedc7438e08> #<Tag:0x00007fedc7438cc8> #<Tag:0x00007fedc7438b88>

(Роман Кирсанов) #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: Создаешь параметризированную джобу и там передаешь свой тест, какой хочешь, вручную