前言
本文记录在Postman中做自动化测试时的常用命令和功能。
一、前置脚本(Pre-request)
顾名思义,在请求接口之前执行该脚本。对于前置请求脚本的使用一般有以下场景:
- 设置动态请求头信息;
- 设置动态请求参数信息。
比如,现在需要在请求头中添加一个timestamp
字段,而该字段值是表示当前的时间戳,是一个动态变化值,所以该字段就需要动态设定。此时,我们就可以通过前置请求脚本来实现:
pm.environment.set('timestampHeader', new Date());
二、测试脚本(Tests)
1.常用校验
代码如下:
res = pm.response;
res.data = pm.response.json();
code = pm.response.code;
pm.test("title",function(){
//固定值
pm.expect(res.data.success).eql("true");
//半固定
pm.expect(res.data.success).include("true");
//完全动态
pm.expect(res.data.success).ok;
//状态码校验
pm.response.to.have.status(200);
pm.expect(code).eql(200);
//验证响应时间(ms)
pm.expect(pm.response.responseTime).below(20);
})
2.请求其他接口
代码如下:
pm.test("title",function(){
var url = pm.environment.get("host") + "/api/insert_keyword";
var payload = {
keyword: "坦克500",
};
var headers = {
'Content-Type': 'application/json',
'token':token
};
pm.sendRequest({
url: url,
method: 'POST',
header: headers,
body: {
mode: 'raw',
raw: JSON.stringify(payload)
}}, function (err, response) {
if(err){
console.error(err)
}else{
pm.test("Status Code 200", function () {
pm.expect(response.code).to.eql(200);
});
pm.test("Result Success", function () {
pm.expect(response.json().success).to.eql("true");
});
}
console.log(response.json().message);
});
});
总结
这篇文章介绍了Postman的前置请求脚本和测试脚本的一些使用场景和用法,希望对大家有帮助。