postman
接口测试用例写法
用例编号 | 测试点 | 前置条件 | 请求方法 | 请求地址 | 请求参数 | 预期结果 | 实际结果 |
---|---|---|---|---|---|---|---|
搭建环境:
下载java环境:https://www.java.com/zh-CN/
下载postman:https://www.postman.com/
运行java包
cmd:E:
cmd运行java包命令:java -jar XXX.jar
设置集合变量
环境变量,全局变量
集合变量、环境变量和全局变量的作用范围
集合变量:作用范围在整个集合
环境变量:作用范围在当前使用的环境
全局变量:在所有集合所有环境中都可以使用
当集合变量、环境变量和全局变量的名字冲突的时候,postman是如何取值的
当集合变量和环境变量和全局变量冲突的时候 优先使用环境变量
当集合变量和全局变量冲突的时候 优先使用集合变量
Pre-request Script 预处理脚本的使用
# Get an environment variable 获取一个环境变量的值
var res = pm.environment.get("pcode");
console.log(res);
# Get a global variable 获取一个全局变量的值
var res = pm.globals.get("name");
console.log(res);
# Set an environment variable 设置一个环境变量 set("变量名","变量值");
pm.environment.set("name", "123");
# Set a global variable 设置一个全局变量 set("变量名","变量值");
pm.globals.set("test", "233");
#Clear an environment variable 清除一个环境变量
pm.environment.unset("name");
#Clear a global variable 清除一个全局变量
pm.globals.unset("test");
#Send a request 提交一个请求
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
console.log(response.json());
});
PS:填好路径后,点击send发起请求, 左下角查看console控制台输出结果
接口类型:post
接口路径:localhost:8085/pub/api/Jlogin
JSON参数:
{
"name":"anna小姐姐",
"password":"xdclass",
"pcode":"xdclass"
}
Tests常用的断言测试脚本
#Status code:Code is 200
pm.test("校验状态码是否为:200", function () {
pm.response.to.have.status(200);
#Response body:Contains string
pm.test("校验body里面存在:anna小姐姐", function () {
pm.expect(pm.response.text()).to.include("anna小姐姐");
});
});
#Response body:JSON value check
pm.test("校验测试用例中json code的值", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(0);
});
#Response body:JSON value check
pm.test("校验测试用例中的json data字典里的值", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.age).to.eql(20);
});
#Response body:Is equal to a string
pm.test("校验测试用例响应体全等某个字符", function () {
pm.response.to.have.body({
"msg": "恭喜你 登陆成功",
"code": 0,
"data": {
"city": "中国",
"identity": "学员",
"sex": "女",
"name": "anna小姐姐",
"age": 20
}
});
});
#Response headers:Content-Type header check
pm.test("校验响应的头信息是否包含某个值", function () {
pm.response.to.have.header("Content-Type");
});
#Response time is less than 200ms
pm.test("校验影响的时长", function () {
pm.expect(pm.response.responseTime).to.be.below(40);
});
#Status code:Successful POST requset
pm.test("是否包含响应状态码", function () {
pm.expect(pm.response.code).to.be.oneOf([201, 202, 200]);
});
#Status code:Code name has string
pm.test("如果响应码包含某个字符串的话,就执行成功", function () {
pm.response.to.have.status("OK");
});
ps:查看 Test Results 断言结果
通过预处理脚本创建参数,并且传参
获取请求中的响应参数:token
Runner
PS:Save responses保存响应头和参数
Runner导入外部文件的使用
postman参数读取文本参数
PS:注意,txt文本和CSV的都要是UTF-8 不然会有乱码
postman生成接口文档
PS:这个功能需要登录postman账号