断言是什么?
在测试用例中, 有预期结果,实际结果,在执行测试用例的时候,发现实际执行的结果 跟 预期的结果一致,那么这个用例就算 通过,如果执行结果跟预期结果不一致,那么测试用例执行失败。
断言 就是指运行接口的时候 通过定义一个预期结果,Postman在执行的时候通过执行 拿到服务器返回的结果 与 预期结果进行对比,如果一致,Postman 会自动给我们出一个测试报告,告诉我们执行通过,如果不一致,也会为我们出一个测试报告,告诉我们执行失败。
我们只需 运行完成之后 查看测试报告即可。
添加断言
以 新建主题 接口为例。
当输入全部都是合法的数据时,服务器返回的结果中,可以肯定的是 success 字段对应的值为 true。
返回结果的json值断言
打开 【Tests】面板
添加对应的断言代码。针对服务器返回的结果进行断言。
// 添加断言
// pm.test 表示postman的测试 Your test name 你的测试用例名称 可以更改
pm.test("预期结果success值为true", function () {
// 获取服务器返回的结果
var jsonData = pm.response.json();
// 添加断言 expect 期望 to.eql 相等
pm.expect(jsonData.success).to.eql(true);
});
编写完成之后,运行。 可以看到执行的结果。
状态码断言
上面接口中创建话题成功,服务器返回的状态码为200。 对服务器返回的状态码进行断言。
选择 【status code is 200】
// 添加断言
// pm.test 表示postman的测试 Your test name 你的测试用例名称 可以更改
pm.test("预期结果success值为true", function () {
// 获取服务器返回的结果
var jsonData = pm.response.json();
// 添加断言 expect 期望 to.eql 相等
pm.expect(jsonData.success).to.eql(true);
});
pm.test("状态码为200", function () {
// 针对状态码进行断言
pm.response.to.have.status(200);
});
var jsondata = pm.response.json();
pm.globals.set('tid',jsondata.topic_id);
添加断言和 设置变量可以一起用。 设置变量一般放在 添加断言之后。
文本断言
contains string 包含文本,对服务器返回结果的文本值进行断言。
先将返回结果切换为 【Text】文本视图模式
做外层使用 单引号 引起来
// 添加断言
// pm.test 表示postman的测试 Your test name 你的测试用例名称 可以更改
pm.test("预期结果success值为true", function () {
// 获取服务器返回的结果
var jsonData = pm.response.json();
// 添加断言 expect 期望 to.eql 相等
pm.expect(jsonData.success).to.eql(true);
});
pm.test("状态码为200", function () {
// 针对状态码进行断言
pm.response.to.have.status(200);
});
pm.test("返回结果中包含内容", function () {
// 期望服务器返回的结果中包含
pm.expect(pm.response.text()).to.include('"success":true,"topic_id"');
});
var jsondata = pm.response.json();
pm.globals.set('tid',jsondata.topic_id);
批量断言
在做上下游传参的接口中,每个接口的返回结果中 success 的值都为true,非常确定。
添加断言的时候可以直接添加在 collection上面。
打开 集合 — 【Tests】
编写断言
pm.test("success的值为true", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.success).to.eql(true);
});
运行集合 collections
到达执行集合界面。
执行的时候,会自动为每个接口添加断言。
- passed(7) 表示 通过7个断言。
添加断言 优势
给每个接口添加断言,断言成功之后,执行的时候,可以自动出结果。相对于测试人员来说,做回归测试的时候,只需要运行 查看报告即可。
思维导图
作业
- 有串联关系的接口是怎么做的?
2. 创建话题接口测试。考虑正常场景和异常场景。 csv 数据驱动。
创建对应的数据文件
将文件保存为 csv 个数。编码使用utf-8
如果使用wps 工具, 没有utf-8 这个选项,先保存csv文件,后使用记事本工具修改编码。
记事本修改编码
文件—【另存为】
编码选择—【utf-8】
在postman 中上传 csv文件
可以看到 中文显示正常。
- 商城接口中上下游传参 添加断言。
电商上下游传参作业.postman_collection.json
变量文件
My Workspace.postman_globals.json