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

Как передавать один и тот же параметр в разные job?

Теги: #<Tag:0x00007f9b067c3f78>

Добрый день! Подскажите как такое реализовать.

Есть n-ое кол-во тестов (джоб-тесты), которым необходимо получать один и тот же Url (StandUrl).
Пытался сделать так , создать общую джобу в которой храниться StandUrl и передает параметр в нужную джобу-тест. Но проблема в том что тогда приходится перечислять все джобы в которой нужно передать этот параметр и плюс к этому он запускает все джоб-тесты.

Я предполагаю, что должно быть что то такое … Джоб тест , при запуске должен вызывать job с хранящимся в нем , тот в свою очередь отдавать ему этот параметр.

Вот на днях такая-же проблема возникла, решение (для моего случая) https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin

я много раз натыкался на это. Но до сих пор не понимаю как этим можно решить мою проблему.

Создайте properties файл и с помощью Environment File plugin подтягивайте этот файл в свои джобы

  1. Как часто меняется StandUrl и сколько он может принимать значений?
  2. Сколько у вас тест-джоб, которым нужен этот урл? Будет ли их количество меняться?
  3. Каким образом вы планируете стартовать эти джобы (паралельно и все сразу, или цепочкой одну за одной, или выборочно по несколько штук вручную)?
  4. Есть ли возможность именовать все тест джобы по какому-то шаблону?

Есть 3 проекта , которые очень похожи , но все же есть отличия.

  1. На один проект возможно 3 варианта. StandUrl не меняется.
  2. По сути всем тест-джобам нужен этот параметр. Да кол-во будет меняться
  3. Паралельно.
  4. Есть, именную джобы по шаблону 01.42.52_Registration.testOpenForm (номер проекта. номер suite. номер теста_Имя suite.Имя теста)

Попытался сейчас с помощью файлом .proprieties сделать и в итоге понял что у меня изначально все не правильно идет. Я хотел на каждый тест каждого из 3 проектов создать свой тест-джоб + у каждого проекта 3 стенда. Итого мне придется создать 450 джобов, что-то не то)

Может ли джоб хранить результаты как то отдельно в зависомости от приходящих параметров?

А для чего для каждого теста создавать джоб ?

Есть требование , возможность запускать отдельные тесты из suite. Хотел сделать 1 отдельный джоб под это требования передавая туда имя теста как параметр, но как мониторить историю запусков если там все в вперемешку будет.

для фильтрации по параметрам можно взять https://wiki.jenkins-ci.org/display/JENKINS/View+Job+Filters

Скажу за TestNG:

  1. Запускать можно используя группы, тут даже с xml не придется возиться
  2. в дженкинсе есть плагины для testng/junit которые могут анализировать результы прошлых джоб вплоть до конкретных кейсов

Если у StandUrl сего несколько значений, то их можно указывать в Choice parameter в вашей trigger-джобе, которая будет запускать билд основных тестов. Можно организовать цепочку вроде trigger job → build flow job → запуск тест джоб в паралели.
Но как я понимаю, основная проблема не в том, как передать нужный параметр между джобами, а в самой организации тестов :slight_smile: Расскажите больше про то искомые требования к запуску на дженкинсе, и как вы это делаете пока у себя с локальной машины, и сколько у вас всего есть тестов. Мне тоже кажется что 450 джоб это перебор.