Итерация через RestAPI POST вызовы - PullRequest
0 голосов
/ 23 января 2019

Я работаю с частной облачной платформой, которая используется для создания и тестирования виртуальных машин.У них есть богатый API, который позволяет мне создавать виртуальные машины:

{
  "name": "WIN2016-01",
  "description": "This is a new VM",
  "vcpus": 4,
  "memory": 2147483648,
  "templateUuid": "sdsdd66-368c-4663-82b5-dhsg7739smm",
...
}

Мне нужно автоматизировать этот процесс создания машин, просто итерируя -01 часть, так что она становится:

  • "имя": "WIN2016-01",
  • "имя": "WIN2016-02",
  • "имя": "WIN2016-03"
    и т. д.

Я пытался использовать Postman Runner и создать рабочий процесс https://learning.getpostman.com/docs/postman/collection_runs/building_workflows/, но безуспешно - не уверен, какой синтаксис мне нужен на вкладке "Тесты".

1 Ответ

0 голосов
/ 24 января 2019

Это один из способов сделать это.

Создать коллекцию и запрос POST.

В поле pre-request добавить следующее:

/* As this will be run through the Collection Runner, this extracts 
the number of the current iteration. We're adding +1, as the iteration starts from 0.*/ 

let count = Number(pm.info.iteration) + 1;

//Convert the current iteration number, to a '00' number format (will be a string)

let countString = ((count) < 10) ? '0' + count.toString() : 
count.toString();

//Set an environment variable, which can be used anywhere

pm.environment.set("countString", countString)

В своем теле запроса POST сделайте что-то вроде этого:

{
   "name": "WIN2016-{{countString}}",
   ...
}

Теперь, запустите вашу коллекцию через 'Runner Collection' и введите число Итераций (например, сколько раз вы хотите, чтобы ваша коллекция запускалась).Вы также можете добавить Задержка , если ваш API накладывает ограничения скорости.

Наконец, нажмите Выполнить .

...