Postman 提供一个测试沙箱(Postman Sandbox) 测试沙箱是一个 JavaScript 执行环境,可以通过 JS 脚本来编 写 pre-request Script 和 test Script。
接口请求 URL 如下:请求方式为 POST
postman-echo.com/post
在 pre-request Script 定义变量 user
pm.variables.set("user",'zxw');
在Test栏下编写如下脚本
//判断响应状态码
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
//获取发送的参数值
username=pm.variables.get("user");
console.log(username);
//校验响应内容是否和请求的一致
pm.test("Check username", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.json['user']).to.eql(username);
});
//检测响应时间是否小于 0.5s
pm.test("Response time is less than 500ms", function () {
pm.expect(pm.response.responseTime).to.be.below(500);
});
image-20210526234135437
当我们想批量测试某个集合里面的各个 API 时,可以使用 Collection Runner 来批量运行 API,同时可以进行环境 变量、迭代执行次数、延迟时间等设置。
有时我们针对一个接口需要测试很多不同的参数,如果每次一个个的去修改参数值来进行测试这样效率肯定会比较 低下。因此我们需要每次迭代执行传入不同的参数进行测试,那么需要导入外部数据文件进行参数化,也就是所谓 的数据驱动。
如下图所示,data 选择之前我们创建的 json 数据文件:data.json,文件类型选择 application/json json 数据内容 如下:
[{
"username": "jack",
"passwd": "6666"
},{
"username": "Bob",
"passwd": "5555"
},{
"username": "Marry",
"passwd": "8888"
}]
请求之前延迟时间最好设置为 1000~3000,避免过于频繁请求被禁。
设置环境变量时记得选择save
image-20210527000631424
批跑结果
image-20210527000836354
调整执行顺序为:Request1->Request3->Request2->Request4
首先在第一个请求:Request1 中 Test 添加如下代码:表示下一个请求为执行请求名称为 Request3 的请求
postman.setNextRequest('Request 3')
然后在 Request3 的请求中 Test 添加如下代码:表示下一个请求为执行请求名称为 Request2 的请求
postman.setNextRequest('Request 2')
最后在 Request2 的请求中 Test 添加如下代码:表示下一个请求为执行请求名称为 Request4 的请求
postman.setNextRequest('Request 4')
image-20210527001252721
Newman 是一款基于 Node.js 开发的可以运行 Postman 的工具,使用 Newman,可以直接从命令行运行和测试 Postman 集合。
newman run Postman_API.postman_collection.json -d data.json -r html
命令说明
Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开 放易用的软件平台,使软件的持续集成变成可能。
集成到 jenkins 的思路其实很简单,就把之前我们执行测试的 cmd 命令放到 jenkins 里面去执行。集成步骤也很简单:
c:
cd C:\Users\Shuqing\Desktop\pmtest\
newman run Postman_API.postman_collection.json -d data.json -r html
image-20210527001934863
最后执行结果如下:
image-20210527002010902