1、工作原理
postman发送请求给服务器,服务器处理postman发送请求数据然后返回给postman。postman对返回内容进行加工处理,把格式化后的内容显示出来。
2、界面
请求构建器
Api响应
History选项卡
Collection集合
3、基础知识
(1)URL、method、Request Cookies、Request Headers和Request Body;
(2)Response Headers和Response Body
4、常用功能
Authorization(鉴权信息)最常见的鉴权:
Basic Auth:添加用户名密码,发送请求时自动添加到hearder中发送 Cookie管理器:
会自动保存jessionid或rememberMe等,也可手动删除 Script部分 Pre-request Script:前置请求脚本 参数化 Tests Tests中的代码段会在收到Response响应后执行
5、变量
环境变量 环境变量也有作用域 全局变量 token
6、断言语法
状态码 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); 字段名称 pm.test("Body matches string", function () { pm.expect(pm.response.text()).to.include("object already exists"); });
环境变量 var jsonData =JSON.parse(responseBody); postman.setEnvironmentVariable("Authorization",jsonData.data.token);
全局变量
var data=pm.response.json();
console.log(data.info[0].username) 可使用控制台打印,查看是否是自己想要的结果
pm.globals.set("username",data.info[0].username);
判断返回是否有某个元素 ①tests["判断返回的元素中是否有data"] =responseBody.has("data");
响应Cookie提取器一般用于提取jessionid或remeberme做为全局变量传入下一个接口保持会话,postman虽自动保存cookie相当于 jmeter的cookie管理器,但有些接口需传入:
var jessionid=postman.getResponseCookie('JSESSIONID').value
pm.globals.set("jessionid",jessionid);
前置条件Pre-request-Script的简单用法:用于发送请求之前的处理数据,比如:现在增加一个用户,需要运行N次,而且还要下一个接口需查询断言是否与刚刚增加的用户名相同,怎么办呢?
1.首先可以考虑时间戳:
var times=Date.now()
pm.globals.set("times",times)
2.并且添加到全局变量中,增加接口参数传递的body中使用username:“用户名${time}"传递,这样又能根据用户名查询又能保持增加 不会出现数据重复
那么模糊查询接口在test如何断言是否存在刚才自己增加的用户呢?
pm.test("断言增加的用户姓名", function () {
pm.expect(pm.response.text()).to.include("ddx"**+**pm.variables.**get**("times")); //test引用全局变量需用get获取
});
前置条件Pre-request-Script:遇到接口传参需要加密如何去加密:例如MD5
var username=CryptoJS.MD5('admin').toString()
pm.globals.set("usernmae", username); //添加至全局变量 ,在接口传参的时候${usernmae}引用即可
7、测试报告
步骤一:
导出collection 导出环境变量
步骤二:Newman环境准备
步骤三:Newman语法
指令:newman run d:\test.postman_collection.json -e d:\test.postman_environment.json -d d:\testdata.csv —-export-environment d:\test
8、postman+jenkins+newman持续集成
1.环境安装:postman+newman+jenkins+jdk
2.postman导出测试集,环境变量,全局变量.json文件
3.建立一个jenkins项目
4.指定轮询时间
5.构建windows脚本执行命令
6.输出报告,需添加插件
运行出现的问题
postman使用ant
newman run C:\Users\ddx\Desktop\postman\boot项目用例.json -e C:\Users\ddx\Desktop\postman\环境变量.json -g C:\Users\ddx\Desktop\postman\全局变量.json -r html --reporter-html-export C:\Users\ddx\Desktop\postman\report.html
9、故障问题排查
i.防护墙问题,关闭防火墙 ii.代理配置问题 iii.SSL证书问题(HTTPS请求不能连接)可以关闭SSL iv.客户端证书问题 v. 错误的请求地址 vi.不正确的协议 vii.超时设置太短,可以适当增加 viii.无效的响应