1. 断言响应状态码
** Status code: Code is 200**
- 在 Tests 标签中,选中 Status Code:code is 200, 生成对应代码
- 适当调整 test() 方法参数1,和 匿名函数中的 预期结果。
- 点击 send 按钮,发送请求,执行断言代码。
- 查看断言结果。
// 断言响应状态码 是否为 200
pm.test("Status code is 200", function () { //"Status code is 200":在断言成功后,给出的文字提示。可以修改。function ():匿名函数。
pm.response.to.have.status(200); // 意思:postman 的响应结果中是否包含状态码 200
});
2. 断言响应体是否包含某个字符串
** Response body: Contains string**
// 断言响应体包含指定字符串
pm.test("Body matches string", function () {
pm.expect(pm.response.text()).to.include("string_you_want_to_search");
// 意思:pm 期望 响应文本 中,包含 "string_you_want_to_search"字符串,字符串可修改
});
3. 断言响应体是否等于某个字符串(对象)
** Response body: Is equal to a string**
// 断言 响应体 等于某个字符串(对象)
pm.test("Body is correct", function () {
pm.response.to.have.body("response_body_string"); // 意思是,pm 的 响应中应该有 响应体 xxx
});
4. 断言JSON数据
** Response body: JSON value check**
// 断言json的响应结果
pm.test("Your test name", function () {
var jsonData = pm.response.json(); // var jsonData: 用js语法定义一个变量。jsonData 就是变量名
// pm.response.json(); 代表响应的json结果
pm.expect(jsonData.value).to.eql(100); // 意思:pm 预期 json结果 key对应的值 等于 xxx
// to.eql(100); 中的 100 代表预期结果。可以修改的。
});
/* 举例:response.json();
{
"success": true,
"code": 10000,
"message": "操作成功!",
"data": "95c78d75-721c-40fb-b2d5-742fea42cbd5"
}
*/
/* 举例:
jsonData.value 的 value:
取 :success、code、message、data
*/
5. 断言响应头
** Response headers: Content-Type header check**
// 断言响应头
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");// pm 的响应 头中包含 Content-Type
});
// 示例:可以在 header 中,添加 响应头中的 key 对应的 value 判定。用 ,隔分。
// 断言响应头
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type", "application/json;charset=UTF-8");
});
版权归原作者 谁动了我的小鱼干 所有, 如有侵权,请联系我们删除。