Как заменить переменную в каратэ - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно заменить значение внутри URL

test/lambda-migration/v1/quote'

Параметр v1 должен быть параметризован, чтобы принимать другое значение, и эти значения будут получены из другого файла объектов. Мой код выглядит так:

Файл функций -1

Краткое описание сценария: регистрация Lambda API

Данный URL ApiAdminURL

json myReq = read('swagger-lambda.json')

И запрос myReq

Когда метод сообщение

Тогда статус

def responsefromsubscriber = call read('Subscriber.feature') { InvokeStatus: '#(InvokeStatus)', version: '<version>' }

match responsefromsubscriber.InvokeStatus == 200

Examples: 
  | responseCode | version |
  |          200 | v1      |

Файл функций - 2

Указан url internalGateway

print 'Version: ' , version 

def LocalVersion = version

print 'LocalVersion: ' , LocalVersion 

И путь 'test/lambda-migration/#(LocalVersion)/quote'

и заголовок Authorization = accessTokenforInvokation

Когда метод получить

Это не заменяет # (LocalVersion) на v1

1 Ответ

0 голосов
/ 04 сентября 2018
And path 'test/lambda-migration/#(LocalVersion)/quote'

Это неправильно. Пожалуйста, прочитайте эту часть документов: https://github.com/intuit/karate#rules-for-embedded-expressions

Также обратите внимание, что path поддерживает разделенную запятыми форму:

Попробуйте:

And path 'test/lambda-migration', LocalVersion, 'quote' 
...