У меня есть 2 chanined запросов в почтальоне, первый выполняет GET для отображения всех данных, а затем устанавливает переменную среды на основе возвращаемых значений. Второй запрос пытается POST использовать переменную окружения в качестве значения поля.Как передать переменную окружения в postman/newman
Запрос 1
GET /customers?$select=reference&$orderby=reference
с тестами:
tests["Status code is 200"] = responseCode.code === 200;
var data = JSON.parse(responseBody);
var ref = 0;
for (i = 0; i < data.length-1; i++) {
if (data[i].reference == ref.toString()){
ref++;
postman.setEnvironmentVariable("reference", ref);
}
}
в этой точке переменная среды reference
имеет значение 5
Запрос 2
POST /customers
с телом:
{
"reference": "{{reference}}",
"name": "Name"
}
Это прекрасно работает через графический интерфейс Почтальон, однако при запуске из командной строки Newman, когда запрос достигает API, значение reference
является {{reference}}
не 5
как и ожидалось.
я выполнил тот же тип замещения, с переменным окружением, установленные непосредственно из возвращенных данных
postman.setEnvironmentVariable('reference', data.reference);
и этой работы в любом Постмане или Newman.
Может кто-нибудь помочь в том, почему настройка переменной в блоке сценария, подобной этому, не выполняется?