一、常见类型的接口请求
查询参数接口
接口地址中,?问号后面的部分,即查询参数;该部分内容由键值对组成,有多个时,用&符号分隔。
请求方法:GET
表单类型接口
1)HTTP请求,一般包含三个部分:请求头、请求行、请求体;
Header请求头——(标识是否为表单提交),查看接口中以下字段
Content-Type的值为application/x-www-form-urlencoded;
2)Postman中发起请求
请求方法:POST
请求URL;
请求头:Content-Type:application/x-www-form-urlencode;
请求体:body——x-www-form-urlencoded
json类型接口
Postman中发起请求
请求体:body——JSON,输入接口参数
上传文件接口
Postman中发起请求
请求体:body——from-data,file中选择File,选择本地文件进行接口测试;
二、接口响应数据分析
状态行:即返回的status码(200、500、404等)
响应头:即Header + Cookies,cookies是包含在响应头中的,工具为了区分明显,显示了出来
响应体:即Body
三、接口管理 (Collection)
(一)Collection的作用
可分类管理测试用例
可以批量回归测试用例
(二)创建Collection步骤
创建一个Collection(等于一个系统)
在该集合下创建多个文件夹(系统的不同模块)
每个模块下创建相关请求(各模块的测试用例)
(三)运行Collection
选择集合,右键——选择“Run Collection"
弹出选项弹窗,可选择具体执行哪些,也可以默认执行全部
选择后,点击“Run Collection",即可执行设置的用例
(四)集合返回结果
四、日志调试
五、断言
断言编写位置:Tests标签
断言所用语言:JavaScript
断言执行顺序:在响应数据返回后执行
断言返回结果:TestResults
(一)内置断言
状态码、状态消息断言
响应头断言
响应体断言
响应体中包含XXX字符串;
响应体中等于XXX字符串;
响应体中某个键对应的值;
断言响应时间;
六、变量
分类
(1)环境变量
可以创建多个环境,每个环境下又可以有多个变量
创建环境
在对应的环境中创建环境变量
使用时,必须选择对应的环境
(2)全局变量
只要在postman中,任何一个集合都可以使用这个变量;
(3)集合变量
所属于集合,只有所属集合才可使用该变量;
作用域
由大到小:全局变量——>集合变量——>环境变量
使用先后:如果同时在不同范围申请了相同的变量,会优先使用范围最小的变量;
变量使用
(1)定义变量
(2)获取变量
在请求参数中获取变量
请求参数:URL,Params , Authorization , Headers , Body
获取方式:{{变量名}}
代码中获取变量
获取环境变量 pm.environment.get('变量名')
获取全局变量 pm.globals.get('变量名')
获取集合变量 pm.pm.collection Variables.get.get('变量名')
七、在Body中获取数据,并更新全局变量
写取值、赋值脚本
位置:Tests里写脚本
内容:
var result = JSON.parse(responseBody); //解析JSON
pm.enviroment.set("data",result.data); //将解析后的data数据,赋值给设置的data变量
八、从响应Cookies中获取数据,并更新全局变量
写取值、赋值脚本
位置:Tests里写脚本
内容:
pm.cookies.get(""); //根据cookies中的参数名称,获取参数值
pm.enviroment.set("",decodeURIComponent(pm.cookies.get(""))); //将参数值赋值给变量
九、请求前置脚本
概念:即Pre-requests Script中编写的JavaScript脚本;
执行顺序:一个请求,在发送之前,会先执行前置脚本;
用途:在请求接口之前对请求数据需要进一步加工处理。eg:有的接口的输入参数有一些随机数,每请求一次接口参数值都会发送变化,就可以在前置脚本中编写生成随机数的代码;