Можем ли мы добиться «фильтрации по примерам», которая у нас есть на Jbehave
Пример ниже:
* def request = { item: '#(item)' }
Examples:
|karate.env: |item |
|@dev |778983-110833-110834|
|@qa |848079-419456-419457|
Что нам нужнодостижения:
- DSL для каратэ для выполнения тестов в таблице примеров на основе текущего значения karate.env
- Карате должен создать запрос =
{ item:
'778983-110833-110834' }
, если я запускаю тесты вdev environment & { item:
'848079-419456-419457' }
если я запускаю тесты в qa.
Я не смог добиться этого с помощью свойства karate.env, но достиг этого с помощью тегов, см. пример ниже:
Feature:
Background:
* url 'https://reqres.in/api'
* configure headers = { 'Content-Type': 'application/json'}
Scenario Outline:
* def reqJson = { "name": "name", "job": "<item>"}
And path 'users'
And request reqJson
When method post
Then status 201
And match response.job == '<item>'
@dev
Examples:
| item |
| 111|
@qa
Examples:
| item |
| 222|
Запуск в командной строке для среды = qa: mvn test -Dcucumber.options="--tags @qa"
Запуск в командной строке для среды = dev: mvn test -Dcucumber.options="--tags @dev"
Пожалуйста, дайте мне знать, если есть какой-либо другой способ достижения этоготак как я хотел использовать свойство karate.env.