通过RestAPI POST调用进行迭代

时间:2019-01-23 10:54:13

标签: rest api automation postman

我正在使用用于创建和测试虚拟机的私有云平台。它们具有丰富的API,可让我创建VM:

{
  "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 :(得分:1)

这是一种实现方式。

创建一个集合和您的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}}",
   ...
}

现在,通过“集合运行器”运行您的集合,然后输入 迭代次数 的数量(例如,您希望集合运行多少次)。如果您的API施加了速率限制,则还可以添加 延迟

最后,单击 运行