Я работаю над некоторым сценарием нагрузочного тестирования ios на работе, и у меня возникают некоторые проблемы с выяснением, как это сделать с помощью Wiremock.
Это в основном это. У меня есть фрагмент кода, который делает GET
для конечной точки, которая выглядит примерно как /api/1/external/client/1234%12LT
, и я хочу взять последнюю часть, убрать все после %
(в комплекте) и вернуть только числа перед ним как часть очень простой JSON {"id": "1234"}
.
Я читал о Response Templating
и включил его в своем автономном экземпляре, передав флаг --global-response-templating
в командной строке. Я думаю , что это работает, потому что, если я установлю его, чтобы оно возвращало случайное значение, используя что-то вроде {{randomValue length=10 type='NUMERIC'}}
, оно фактически возвращает случайное число.
Я думаю, что я должен использовать комбинацию request.requestLine.pathSegments.[4]
, чтобы получить последний сегмент URL, а затем использовать экстрактор регулярных выражений {{regexExtract request.body '[A-Z]+'}}"
(не фактический код, пример взят из документации), чтобы получить Первая числовая часть, но пока не удалось заставить ее работать.
Мой издевательский код выглядит примерно так:
{
"request": {
"urlPattern": "/api/1/example/endpoint/.*",
"method": "GET"
},
"response": {
"status": "200",
"headers": {
"Content-Type": "application/json; charset=utf-8"
},
"jsonBody": {
"id": "{{request.requestLine.pathSegments.[4]}}"
}
}
}
Может кто-нибудь указать мне, где я облажался?
И еще вопрос, как вы это обычно отлаживаете? Я просмотрел документы и не уверен, как распечатать информацию в журналах, чтобы увидеть, работает ли подстановка, которую я пытаюсь сделать, на самом деле, или, как я полагаю, должна получить то, что достигает конечной точки.
Спасибо.