PostMan使用
页面简单介绍
参数化
传入参数格式为json时,无法参数化
传入参数格式为Params,form-data,x-www-form-urlencoded可以参数化
第一种,单个值参数化:点击Pre-request Script 输入 脚本 pm.environment.set("variable_key", "variable_value");variable_key为参数名,variable_value为参数的值,例子如下:
引用的时候,值写成{{variable_key}}
第二种,批量参数化,比如,以上述图中接口为例,需要一次查询多个手机号是否为已注册用户
第一步,新建txt文件,使用notepad++编辑,第一行写下参数名,第二行开始,逐行写下参数各值,编码格式设置为UTF-8
也可以新建一个表格文件,也是第一行写下参数名,第二行开始,逐行写下参数各值,保存文件格式为.csv
点击该接口所在Collections右边的右箭头,如下图
在弹出的界面点击run按钮,进入Collection Runner界面
在Collection Runner做如下设置,设置完成之后,点击Run按钮就可以看到测试结果
设置环境变量
第一种:通过界面设置
点击” 设置”按钮--manage environments,打开环境设置界面
在环境设置界面点击Add
设置完成之后,使用方法如下
第二种:点击Pre-request Script 输入 脚本 pm.environment.set("variable_key", "variable_value");这里设置的是环境参数,所以可以写成:
pm.environment.set("ip", "http://172.16.81.142:8082");引用的时候,写成{{ip}}即可
测试断言
postman的断言是JavaScript语言编写的,写在tests标签里,tests界面右侧配置了一些常用的代码片段,如下图
举个栗子,如我们的返回结果为
{
"ver": "1.0",
"ret": true,
"errcode": 0,
"data": "当前任务正在执行中, 请不要重复提交"
}
现在我们要对data断言,我们点击右侧的代码片段,检查body包含字符串,左侧自动出来一段代码
【Body matches string】是该条测试的名字,可自行定义,我们改为【校验data字段】;
【string_you_want_to_search】是我们要校验的字符串,这里我们修改为 当前任务正在执行中, 请不要重复提交
执行查看结果为pass
上面只是tests其中一个方法,剩余的简单介绍下:
清除环境变量
设置一个全局变量
得到一个环境变量
检查response body中是否包含某个string
检测JSON中的某个值是否等于预期的值
转换XML body为JSON对象
检查response body是否与某个string相等
测试response Headers中的某个元素是否存在(如:Content-Type)
验证Status code的值
验证Response time是否小于某个值
学习一个东西最好的途径就是查看官方文档,这个是官方写的【Test examples】,可以自行学习更深入的断言https://www.getpostman.com/docs/v6/postman/scripts/test_examples
Jenkins+Postman+Newman之API全自动化测试流程
http://www.51testing.com/html/75/n-3724975.html
获取上个接口的返回值(传入参数为json格式不支持)https://blog.csdn.net/weixin_42619964/article/details/82878752
上个接口,在Tests里面设置返回参数环境变量,用来保存参数的值:
如: var Jsondata=JSON.parse(responseBody);
pm.environment.set("返回值中某个参数名",Jsondata.返回值中某个参数名)
新的接口需要用到这个返回的参数,就{{参数名}}格式来替代值使用