遗留问题:创建标签接口标签名不能和已存在的标签名存在
内置动态参数
- Postman内置的动态参数
取值方式:{{$}}
动态参数 | 含义 |
---|
{{$timestamp}} | 生成当前时间的时间戳(并不是万能的) | {{$randomint}} | 生成0-1000的随机数 | {{$guid}} | 生成随机的guid的字符串 |
- 自定义的动态参数
手动的去制作一个时间戳
var times = Date.now();
pm globals.set("times",times);
断言
所有的断言都是在 Tests 中进行的。
断言 | 含义 |
---|
Status code: Code is 200 | 断言返回的状态码为200 | Response body: Contains string | 断言返回的结果中包含制定的字符串 | Response body: JSON value check | 检查 json 中其中一个字段的值 | Response body: Is equal to a string | 断言响应的结果是否等于一个字符串(返回的数据很少的情况下) | Response headers: Content-Type header check | 检查是否有 Content-Type 响应头 | Response tine is less than 200ms | 断言接口请求的时间少于200ms | Status code: Successful POST request | 断言响应码在一个列表中 | Status code: Code name has string | 断言响应信息是一个指定字符串 |
在进行业务断言时一定要选核心关键字。
注意:在Tests断言中不能使用 {{}} 取全局变量,只能通过 pm.globals.get(“times”) / globals[“times”] / globals.times 这几种方式取全局变量
使用公共断言统一所有的状态断言:
Response body: JSON value check / Response body: Is equal to a string
用例的批量执行
在一个接口集合中,我们还得手动去执行每个接口,有什么方法能让他自己执行呢?
Iterations:迭代次数 Delay:每个接口之间执行的时间 Data:数据驱动(csv, json)
数据驱动
作用:执行测试用例的过程,本质上是执行的不同数据,不同输入输出的过程。所以,在计算机中,我们可以使用预先设定好的数据文件,来执行测试用例,实现覆盖测试点。
- 新建一个 excel 文件
- 将想要数据驱动的参数输入 excel 中
- 保存 excel 时使用 csv 格式内存为
- 将对应的数据驱动的参数值改成取全局变量的方式
- 在 Data 处将 csv 文件上传上去
把文件上传上去之后
- 选择文件格式(上传的 excel 的格式)
- 预览
如果预览有问题就要及时修改。比如说 excel 中有文字,在预览时就会出现乱码。我们就要重新打开 csv 文件将文字改成 UTF-8 编码格式,因为 Postman 只支持UTF-8
注意:在参数里面取数据文件的值和取全局变量的值一致,在断言里面取数据文件的值使用:data[“名称”]
|