Я установил две переменные, скажем, cityA = 'New York' и cityB = 'Las Vegas' в одной функции, и "экспортировал" их с выражением * def
. Теперь я хочу использовать эти переменные в другой функции
Scenario Outline: Successful transfer from <fromLocation> to <toLocation>
* call read('re-usable.feature')
Given request read('request.json')
When method post
Then status 200
Examples:
| fromLocation | toLocation |
| cityA | cityB |
| cityB | cityA |
с запросом:
{
source: "#(fromLocation)"
destination: "#(toLocation)"
}
Мой сценарий ios не работает, потому что в запросе задан cityA / cityB, а не значения сохраненный под этими именами, я попытался использовать переменные из файла конфигурации карате и даже
Scenario Outline: Successful transfer from <fromLocation> to <toLocation>
* def res = call read('re-usable.feature')
Given request read('request.json')
When method post
Then status 200
Examples:
| fromLocation | toLocation |
| res.cityA | res.cityB |
| res.cityB | res.cityA |
, и это передает res.cityA, res.cityB вместо Нью-Йорка / Лас-Вегаса. Кроме того, Я пробовал также следующие способы
Background:
* call read('re-usable.feature')
Scenario Outline: Successful transfer from <fromLocation> to <toLocation>
Given request read('request.json')
When method post
Then status 200
Examples:
| fromLocation | toLocation |
| cityA | cityB |
| cityB | cityA |
и
Background:
* def res = call read('re-usable.feature')
Scenario Outline: Successful transfer from <fromLocation> to <toLocation>
Given request read('request.json')
When method post
Then status 200
Examples:
| fromLocation | toLocation |
| res.cityA | res.cityB |
| res.cityB | res.cityA |
Все представленные случаи возвращают одно и то же - допустимые имена, а не значения. Если в запросе я установил, например, #(cityA)
вместо #(toLocation)
, то все идет так, как ожидалось, но я не могу протестировать другой сценарий ios, в этом случае
@ PeterThomas вы отметили мой последний вопрос как дубликат, но связали вас предоставили не о моей проблеме;)