基于Postman V7.0.7版本介绍
(接 测试小工-Postman基本使用1 介绍)
三、Runner(批量测试)
在Postman中,Runner是用于批量测试的工具,它拥有两个主要入口:
1. 通过顶部菜单的Runner。
2. 通过Collections路径,进入具体项目后,选择“更多”并点击Run。
使用Runner进行批量测试时,可以进行以下基本设置:
1. Iterations:设置执行次数,根据需求进行迭代测试。
2. Delay:设置用例与用例之间的间隔时间。
3. Data:实现外部数据加载,即用例的参数化。可以与Iterations结合使用,实现数据驱动测试。
值得注意的是,Runner的执行方式是一个请求结束后执行下一个请求,并非并发执行。
四、断言(Tests & Test Results)
一个完整的接口测试流程包括:请求 -> 获取响应正文 -> 断言。在Postman中,断言的入口位于请求响应器下的Tests。右侧SNIPPETS(片段)提供了基本语句,用户只需修改参数即可使用。
以下是断言的示例场景及其详解:
1. 判断HTTP返回状态码是否为200。
点击SNIPPETS中的“Status code:Code is 200”,自动生成判断代码:
```
javascript`pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});`
```
其中,“Status code is 200”为自定义函数名称,可按需修改。这段代码的意思是判断responseCode对象的HTTP状态码是否为200。
2. 判断响应正文中是否包含特定字符串,例如:"statusCode":200。
点击SNIPPETS中的“Response body:Contains string”,生成包含特定字符串的判断代码。例如,判断响应正文中是否包含"statusCode":200的代码为:
```
javascript`pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include('"statusCode":200');
});`
```
注意:字符串中含双引号时需要用单引号包含,若有单引号时则需用双引号包含。
3. 解析响应正文并判断特定值,如解析JSON串。
点击SNIPPETS中的“Response body:JSON value check”,进入JSON值的判断。例如,解析响应正文并判断statusCode的值是200,message的值是”Success“的代码示例为:
```
javascript`pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.statusCode).to.equal(200);
pm.expect(jsonData.message).to.equal("Success");
});`
```
判断状态码及消息的Postman测试脚本
判断状态码为200的代码段:
```javascript
pm.test("code200", function () {
var jsonData = pm.response.json(); // 获取响应的JSON数据
pm.expect(jsonData.statusCode).to.eql(200); // 断言状态码是否为200
});
```
判断消息值为"Success"的代码段:
```javascript
pm.test("messageok", function () {
var jsonData = pm.response.json(); // 解析响应数据为JSON格式
pm.expect(jsonData.message).to.eql("Success"); // 断言消息值是否为"Success"
});
```
我们通过编写不同的断言来验证响应数据中的不同字段,每个断言对应一个结果。
Poatman Console调试窗口
这个窗口可以让你详细查看请求的每一个细节,包括在脚本中通过console打印的日志。轻松访问的方式是按下快捷键Alt+Ctrl+C,或者通过顶部菜单的“View”选项选择“Show Postman Console”。
脚本录制
1. 创建测试集
你可以在Postman中轻松创建测试集,为你的API请求集合提供一个有序的组织方式。
2. 设置Postman代理
通过顶部菜单的“Capture API requests with Postman”选项来设置代理。选择适当的端口号(默认通常为5555),并指定输出位置。
3. 设置PC代理
在浏览器中进行设置,以便将请求通过Postman代理。在Chrome浏览器中,你可以通过“设置”->“高级设置”->“打开代理设置”->“局域网(LAN)设置”->“代理服务器”来进行设置。地址应为localhost,端口号则与在Postman中设置的端口号相同。
4. 抓取并导出脚本
当你在浏览器中访问接口并完成操作后,之前指定的保存位置将会有对应的请求记录。你可以通过测试集菜单中的“更多”->“导出”选项来导出你的脚本,默认格式为Collection v2.1。
关联
1. 在正式环境中获取请求响应
请注意,这个请求返回的数据应该是JSON格式的。
2. 在Tests中设置环境变量获取响应数据中的参数值
例如,你可以通过以下脚本获取响应数据中的`msg`值并保存为环境变量:
```javascript
var jsonData = JSON.parse(responseBody); // 解析响应体为JSON格式数据
postman.setEnvironmentVariable("msg", jsonData.msg); // 将msg值保存到环境变量中供后续使用。请根据实际的响应格式修改此脚本,如使用嵌套数组时需对应调整。
``` 若未设置环境变量,则获取的参数值将不会被保存以供后续使用。请注意根据实际响应数据的格式调整脚本代码。 |