一 postman发起请求
》get请求四要素:方法,url,参数,请求头
其中get请求,url中的参数,会自动填充到参数列
》post请求: 参数传递格式,头域里边content-type规定
1 演示示例:以该商城登录为例子,www.testingedu.com.cn:8000/Home/user/login.html
信息通过接口文档或者抓包获得
参数传递:post请求的参数传递在body请求体中,body中传递格式设置与请求头中Content-Type保持一致
>x-www-form-urlencoded 传递键值对格式 登录接口测试
>multipart/form-data 可以传递键值对 和 文件格式 上传图片接口测试
注:body参数里边 key下拉框选择file类型
2 post接口请求实战
用友云新发债券查询接口:
查询新发债券的接口,头域,body
3 json格式请求发包 application/json;charset=UTF-8
post url headers-content-type
body-raw-json
住逻辑登录接口
二 断言与变量
天气接口
1变量设置:
get请求,params里边,value列{{}}两个大括号里边填写变量名称,即可实现通过变量调用
其中三个默认的全局变量 $guid $randomint 随机变量 $timestamp 时间戳
全局变量是,postman的所有接口测试项目都可以使用的,环境变量是,选择哪个项目,哪个项目可以使用
>创建变量,右上角设置里边添加
>使用变量,,右上角下拉框选择变量
>调用变量{{cityname}}
globals cityname 海口 海口
ip 1.1.1.1 1.1.1.1 {{ip}}
环境变量优先级高于全局变量,选择了环境变量,不会受到全局变量影响
2 断言:验证返回结果是否符合预期
天气接口
>pre-request Script 发送接口请求之前的操作
右侧有快捷功能,选择相应的功能,自动生成代码
get环境变量 pm.environment.get("cityname"); 参数是环境变量名称
pm.environment.set("cityname","武汉");
>Tests 重点,用于断言操作 ,发送接口请求之后,得到返回信息的操作
返回码 返回头域 响应体
pm.test("验证状态码是200",function(){
pm.response.to.have.status(200); //判断返回的状态码是不是200
});
pm.test("返回主体中是否包含武汉字符",function(){
pm.expect(pm.response.text()).to.include("\\u4e2d\\u56fd"); //这里response.text()获得到的是返回的最原始的信息,也就是raw里边显示的,所以include后边包含武汉应该是unicode编码的字符,而不是武汉的汉字形式
})
pm.test("验证返回的city值是武汉",function(){ 这个比较常用
var jsonData = pm.response.json(); //获取json格式的返回结果
pm.expect(jsonData.city).to.eql("武汉"); //response.json()会把unicode格式解码成汉字形式,所以这里填写武汉 汉字即可
})
pm.response.to.have.body()这个校验的是完整的body ; body is equal to a string
headers:
pm.response.to.have.header("Server"); 头域中包含 Server
pm.expect(pm.response.responseTime).to.be.below(50); 请求时间小于50ms
证券接口
返回是数组形式的
var jsonData=pm.response.json(); jsonData[0]
console.log(jsonData[0].status);
jsonData.data[0].location
for循环
var jsonData = pm.response.json();
for(var i = 0; i<10;i++){
console.log(jsonData.result.items[i].first_comment);
}