Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Запуск тестов несколько раз с разними конфигурациями одной командой

mvn
java
testng
Теги: #<Tag:0x00007f7b705f4ab8> #<Tag:0x00007f7b705f4860> #<Tag:0x00007f7b705f4720>

(Taras) #1

Есть json file:

{
“config1” : { … },
“config2” : { … },
“configN” : { … }
}

обьект configX подставляеться как параметри к mvn запуску. Тоесть я указиваю mvn test -DconfigPath=“путь_к_json_файлу” и у меня тести запускаються с первим набором configo-в. (config1).

Задача что б тести запустились с каждим config обьектом отдельно. JSON парсаеться в список Config обьектов , тоесть мне нужно сют которий я запускаю запустить столько раз , сколько size етого списка и при етом подставлять в тести каждий раз другой обьект со списка…что то типа дата провайдера. Как ето все слепить в кучу ? Или другой вариант, предлагать разбиение на отдельние json-и и запускать отдельними командами не нужно)))
Для тестов использую testng (surefire-plugin). Паралельний запуск тоже не нужен…только по очередности.

Спасибо заранее


#2

Так а если этот json распарсить и полученые знаючения поместить в data provider?


(Евгений Бухгаммер) #3

над тестовым файлом просто должен расположиться код, который распарсит json и в цикле прогонит все конфиги. Не тестирую на testng, и не знаю, какую они там идеалогию поставили во главе угла, но можно мыслить проще:

Если у вас есть файл, этот файл JSON и этот файл содержит последовательную информацию, которая должна быть руководством для исполнения - пробегите по этой структуре и последовательно подставляйте эти данные.

Вам нужно будет учесть один момент: какое вы поведение ожидаете от теста: должен ли отчет быть единым, должно ли общее исполнение в цикле валиться от 1ой зафейленной конфигурации?