postman可以在Pre-request Script或Tests编辑js代码
一. pm对象
pm对象常用方法
- pm.sendRequest
pm.variables
局部变量pm.environment
环境变量pm.collectionVariables
集合变量pm.globals
全局变量- pm.request
- pm.response
- pm.test
- pm.expect
1. sendRequest发送请求http/https
// 发送get请求
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
console.log(response.json());
});
// 发送post请求,参数为json格式
const postrequest = {
url:"",
method:"POST",
header:'',
body:{
}
}
pm.sendRequest(postrequest, function (err, response) {
console.log(response.json());
});
使用场景:解决接口关联问题,如:登录成功获取token
1.在Pre-request Scripts发送登录请求
2.将获取到的token设置为集合变量
3.在Authorization中设置获取token,使得token在集合中全局有效
2. pm.request
1)在Pre-request Scripts脚本中,这是将要发送的请求;
在Tests脚本中,这是已发送的请求
2)request包含:请求url、headers、body、method等
3.pm.response
包含所有与响应有关信息,包括code、status、headers、text、responseSize、json数据
4.pm.test
该方法内部报错,不会阻塞脚本其余部分
pm.test('async test', function (done) {
setTimeout(() => {
pm.expect(pm.response.code).to.equal(200);
done();
}, 1500);
});
5. pm.expect 断言
二、Runner集合运行
- Iterations :迭代次数
- Delay :请求之间的间隔时间
- Data : 读取数据文件进行参数化的选项
- Save Seponses : 保存响应数据,Run Result查看每个请求的响应结果
- keep variable values : 持久变量,后面可以请求修改变量值
默认开启
- run collection without using stord cookies 不使用cookies保存的值运行
- Save cookies after collection run : 集合中的请求在执行期间创建/更新cookie,可以覆盖现有的cookie
- Recent RUN:最近运行结果
postman.setNextRequest(请求名/请求id)
三、读取外部数据实现参数化
- 数据文件格式 csv 和 json
- 请求中替换参数变量
{{参数名}}
,代码data.{{参数名}}
- 通过
Runner-Data
读取数据文件