У меня есть функция, которая генерирует идентификатор автомобиля и сохраняется как переменная в функции. Я хочу передать этот идентификатор как часть URL-адреса запроса в другой функции в качестве своего рода операции разрыва.
Это то, как я назвал его с помощью функции activVehicle.feature
Scenario : Activate a vehicle
* header X-API-Key = apiKey
* def result = callonce read('createVehicle.feature')
* def vehicleId = result.vId
# some workflow steps
........
........
........
# tear down - delete the vehicle created
* call read('deleteVehicle.feature'){ vehcileId: '#(vehicleId)' }
В вызываемой функции - deleteVehicle.feature
Scenario: Delete a vehicle
* header X-API-Key = apiKey
* def myurl = 'https://xxx/vehicle'+ vehicleId +'?permanent=yes'
Given myurl
And request ''
When method delete
Then status 200
Прав ли я в подходе? Я хочу повторно использовать deleteVehicle.feature также и в других рабочих процессах и, следовательно, не выполнять эту операцию в том же activVehicle.feature (что было бы очень легко). Я также ссылался на документацию, но она показывает, как мы можем использовать переменные в теле запроса, но не как переменную, которую можно использовать в любом месте вызываемой функции. Я не хочу использовать его в теле запроса (но хочу использовать его как часть URL-адреса запроса). Например:
Scenario:
Given url loginUrlBase
And request { userId: '#(username)', userPass: '#(password)' }
Я также сослался на Как я могу вызватьпеременная из одного файла пространственных объектов в другой, используя Тестирование API Карате . Я последовал его примеру для решения, но получаю ошибку javascript:
feature.deleteVehicle: -unknown-:11 - javascript evaluation failed:
'https://xxx/vehicle'+ vehicleId +'?permanent=yes', ReferenceError: "vehicleId"
is not defined in <eval> at line number 1
feature.SVT: SVT.feature:80 - javascript evaluation failed: vehicleId: '#(vehicleId)' }, <eval>:1:14 Expected eof
but found }
vehicleId: '#(vehicleId)' }
^ in <eval> at line number 1 at column number 14
Может кто-нибудь любезно помочь и посоветовать, пожалуйста?