//示例:
pm.globals.set("glb_age",100)
//示例:
var ret = pm.globals.get("glb_age")
//示例:
{{glb_age}}
为什么要写接口测试用例?
1、手工测试,测写入到输入框中的数据是否正确。接口测试测参数 对应的参数值是否正确;
2、接口测试,不单单针对参数值进行,还可以针对参数本身进行测试;
手工测试用例文档8大要素:
接口测试用例文档要素:
分析接口文档以登录接口为例
登录模块的测试点:
导出测试计划:选中--》三点选中export;
导入测试计划:选中---》import;
postman断言简介
常用断言
(1)、断言响应状态码
//断言响应状态码
pm.test("Status code is 200", function () {
//postman的响应结果中应该包含状态码200,200是预期结果
pm.response.to.have.status(200);
});
//断言响应体是否包含某个字符串
pm.test("Body matches string", function () {
//pm期望响应文本中包含xxx字符串
pm.expect(pm.response.text()).to.include('"success":true');
});
案例:
//断言响应体是否包含某个字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include('"success":true');
});
(3)、断言响应体是否等于某个字符串(对象)
pm.test("Body is correct", function () {
//意思是,pm的响应中应该有响应体xxx
pm.response.to.have.body("response_body_string");
});
(4)、断言json数据
pm.test("Your test name", function () {
//var jsonData 用js语法定义一个变量,jsonData就是变量名
//pm.response.json():代表响应的json结果
//举例:response.json()
/*
{
"code": 200,
...
"success": true,
"traceId": "598a67c79346b0617b6d77f1efb46fe0"
}
*/
var jsonData = pm.response.json();
//pm预期json结果key对应的值等于xxx
pm.expect(jsonData.value).to.eql(100);
});
举例:
//断言json数据
pm.globals.unset("variable_key");
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.eql(true);
});
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.data.userBizInfoEntity.baseUserId).to.eql(310000001746);
});
(5)、断言响应头
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type","application/json");
});
案例
调用百度首页接口,传时间戳给服务器
实现步骤:
1.在Pre-request Script 标签页中,添加代码,拿到时间戳,写入全局变量
//拿到时间戳
var time = new Date().getTime()
//将时间戳设置到全局变量
pm.globals.set("glb_time",time)
2. 保存,点击send按钮,发送请求。请求发送前执行上述代码。写入全局变量
3. 查看写入的变量
4. 书写URL地址,在请求参数界面中,使用全局变量。{{全局变量名}}
5. 在postman的控制台,查看发送的http请求;
介绍:应用于多个http请求之间,有数据关联,或依赖关系时。
实现步骤
A接口依赖B接口的数据
1、向B接口发送http请求,获取数据。
2、将数据设置至全局变量(环境变量)中。
3、A接口获取全局变量(环境变量)中数据值,进行使用。
案例
请求 获取天气接口,提取响应结果中的城市,将城市名,给百度搜索接口使用。
选中模块点击run,批量执行
使用newman命令,运行导出的测试集脚本,打开cmd输入;
newman run 测试脚本文件 -e 环境变量文件 -d 测试数据文件 -r html --reporter-html-export 测试报告名.html
eg:
newman run demo.postman_collection.json -r html
newman run demo.postman_collection.json -r html --reporter-html-export report.html
命令说明
注意:
1、如果添加 -r html就报错! 说明 newman -reporter-html 安装失败!
2、批量导出的测试用例放在一个文件夹里,然后在该文件夹内输入cmd,执行生成测试报告的命令;