Мне нужно запустить тесты в файле объектов с несколькими URL-адресами конечных точек. Все тесты достигают конечных точек REST, и мне нужно выполнить несколько конечных точек для одних и тех же тестов. Я предложил два нижеприведенных рабочих решения, но у них обоих есть накладные расходы на обслуживание. Поэтому мне было интересно, есть ли лучшее решение.
1. Добавьте файл фиктивного объекта: Добавьте новый файл фиктивного объекта и вызовите фактический файл объекта с URL-адресом конечной точки в качестве аргумента, как показано ниже. Фактический файл объектов имеет тестовые данные 100 строк. Таким образом, когда это было выполнено индивидуально, отчет огурца показал 100 сценар ios, и было легко увидеть, сколько прошло / не прошло. Но при выполнении с файлом фиктивного объекта в отчете показан только 1 сценарий из файла фиктивного объекта и показаны все 100 тестовых примеров под ним.
Scenario: Call actual feature file with internal URL
* def params = { endpoint_url: 'internal' }
* karate.callSingle('actualTestCases.feature', params);
Scenario: Call actual feature file with public URL
* def params = { endpoint_url: 'public' }
* karate.callSingle('actualTestCases.feature', params);
2. Дублируйте строки тестовых данных и добавьте новый столбец endpoint_url: В тестовые данные добавьте дубликаты строк тестовых данных и добавьте столбец 'endpoint_url' со значениями, такими как 'internal', 'publi c'. Используйте данные этого столбца в фактическом файле объектов. Это накладные расходы, что тестовые данные должны быть дублированы. У меня более 3000 строк тестовых данных.
|testcaseName|email|endpoint_url
|"Valid Parameters"|["validtests@test.com"]|"internal"
|"Valid Parameters"|["validtests@test.com"]|"public"