目录结构
一、批量执行
【方式1】按Collection中的API自上而下顺序执行
Step-1:测试集准备
Step-2:进入Collection Runner界面
Step-3:配置Collection Runner中的选项,开始批量执行
Step-4:检查批量执行效果
【方式2】在Tests中通过设置脚本控制API的执行顺序
二、数据驱动
Step-1:数据文件&测试集准备
Step-2:对测试集执行Run
Step-3:配置Collection Runner选项
Step-4:正式执行数据驱动测试,检查执行效果
一、批量执行
批量执行:若想要批量测试某个集合里面的所有API时,可使用Collection Runner运行每个API,达到批量执行的效果。同时,可进行环境变量(Environment)、选代次数(Iteration)、延迟时间(Delay)、响应日志(Log Response)等的设置。
【方式1】按Collection中的API自上而下顺序执行
Step-1:测试集准备
预先准备好测试集Postman_API_test作为执行的测试集,其内添加多个不同请求的API,如下:
Step-2:进入Collection Runner界面
- 方式1:点击Postman界面左上方的【Runner】按钮
- 方式2:该测试集右侧的三角符号">",再点击所展开弹窗中的【Run】
Step-3:配置Collection Runner中的选项,开始批量执行
对Collection Runner界面中的选项配置完成后,点击【Run Postman_API_test】按钮
Step-4:检查批量执行效果
执行过程ing...
执行完成
【方式2】在Tests中通过设置脚本控制API的执行顺序
除了默认的自上而下执行顺序(未设置脚本控制),关于API的执行顺序调整,一种方式通过手动拖动左侧Collection中的API来排列顺序;另外一种方式是在API的Tests模块通过设置脚本来控制每个API其后执行的下一个API。
方式2的适用场景:
将需要第1个执行的API排放在Collection某个集合中的最上面位置,在该API中的Tests模块编写脚本,控制下一个(第2个)执行的API,再由第2个API的Tests中设置脚本控制第3个执行的API...依次按照设置的顺序执行(1-->2-->3-->...),达到在Collection中构建工作流的效果。
控制执行先后顺序的脚本格式:
postman.setNextRequest('下一个接口的名称');
如下,Execution集合中有4个请求(Rq_A、Rq_D、Rq_B、Rq_C)。
1)若不采用任何脚本控制执行顺序,则Run该集合API的执行先后顺序将会按照默认的自上而下顺序,即:Rq_A-->Rq_D-->Rq_B-->Rq_C
2)若采用脚本控制执行先后顺序,达到预期效果:Rq_A-->Rq_B-->Rq_C-->Rq_D
①Rq_A作为第1个执行的API放在该集合的最上面
②然后在Rq_A的Tests模块中填写脚本:
postman.setNextRequest('Rq_B');
③Rq_B的Tests中可写or可不写postman.setNextRequest('Rq_C');
,因左侧Rq_B的位置下面正好是Rq_C
④Rq_C的Tests中填写脚本:
postman.setNextRequest('Rq_D');
⑤在最后一个执行的API的Tests中添加终止执行的脚本:
实现当执行完成此API之后,即刻终止,否则可能会进入死循环重复执行(如:A-->B-->C-->D-->B-->C-->D-->B-->C-->D-->...)
postman.setNextRequest("null");
以上设置完成,记得保存设置。然后执行Run,效果如下:
二、数据驱动
数据驱动:当一个接口需要测试很多不同的参数组合时,若采用逐个修改参数值来测试的方式,则效率会比较低。此时,需要每次迭代执行传入不同的参数进行测试,通过导入外部数据文件进行参数化,即可实现大量数据的自动化执行。
Step-1:数据文件&测试集准备
数据文件:
文件名称:data.json
文件类型:applicaton/json
json数据内容:
[{
"uname": "test00001",
"pwd": "111111"
},{
"uname": "test00002",
"pwd": "222222"
},{
"uname": "test00003",
"pwd": "333333"
}]
测试集:
测试集名称:Data_Driver
请求URL:https://postman-echo.com/get?uname={{uname}}&pwd={{pwd}}
请求方式:GET
传递参数:uname,pwd
Step-2:对测试集执行Run
Step-3:配置Collection Runner选项
在正式执行测试之前,可点击Collection Runner界面上【Preview】按钮,预览检查所导入的data.json
数据是否按照预期配置的进行迭代。
若符合预期,则开始执行;若与预期不符合,则需要重新修改配置,or排查所导入data.json
数据的正确性,完全无误后再作执行。
Step-4:正式执行数据驱动测试,检查执行效果
点击Collection Runner界面上的【Run Data_Driver】按钮,正式开始执行测试
执行完成:包含3次迭代的执行结果
PS:
若以上执行结果中出现如下异常提示:
"An error occured while running this request. Open DevTools for more info."
"Data unavailable(Only data about the top 10 historical runs is stored)"
可参看此文:
[Postman] Data unavailable(Only data about the top 10 historical runs is stored)_解决方案
网友评论
//检验响应的状态码是否为200(执行结果:200,Pass;非200,Fail)
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});