Как сохранить значения массива в переменной окружения в Почтальоне - PullRequest
0 голосов
/ 18 октября 2019

Я использую почтальона для автоматизации apis.

Теперь я использую следующий запрос, скажем: -

{
  "customerId": "{{currentClientId}}"
}

Где clientid - это динамическая переменная, значение которой динамически подставляется как 1, 2, 3,4 и т. Д. Iвызовите этот запрос несколько раз, используя вызов setNextRequest, например, скажем, 10. Это делается с помощью переменной counter. Я инициализирую счетчик в моем предыдущем запросе на 0 и использую цикл for со значением в качестве счетчика 10, вызывая запрос 10 раз. В теле нет ответа, просто успешный http код 204.

Я хочу сохранить всеэти клиенты приходят в запросе в переменную массива клиента среды, поэтому я написал следующий сценарий предварительного запроса t: -

counter = pm.environment.get("counter");
ClientArray = pm.environment.get("ClientArray");
ClientArray.push(pm.environment.get("currentClientId"));
pm.environment.set("ClientArray",ClientArray);

In Test Script , написал следующеекод: -

counter = pm.environment.get("counter");

if(counter<=10) {
    console.log("hi");
    postman.setNextRequest("Request");
    counter++;
    pm.environment.set("counter",counter);
    console.log("Counter",counter);
}

Вышеуказанные сценарии выбрасывают TypeError |ClientArray.push не является функцией.

Может кто-нибудь подсказать, пожалуйста, как этого добиться.

1 Ответ

0 голосов
/ 22 октября 2019

Когда вы извлекаете значение из переменной среды, как вы это делаете:

ClientArray = pm.environment.get("ClientArray");

Вы не получаете массив, вы получаете строку, поэтому вы получаете эту ошибку,Вам нужно обрабатывать переменную как строку, добавьте currentClientId так же, как вы делаете для счетчика. Что-то вроде:

var currentClientIds = pm.environment.get("ClientArray");
currentClientIds = currentClientIds + "," + currentClientId

Когда вы закончите добавление, то есть из вашего цикла, просто возьмите строку и преобразуйте ее в массив:

var currentClientIds = pm.environment.get("ClientArray");
var idsArr = curentClientIds.split(',');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...