postman高级使用(断言、参数化、关联、测试报告)

发布时间 2023-04-09 21:40:19作者: 新入世界的小白

一、断言

  1、postman断言:让postman工具代替人工自动判断预期结果和实际结果是否一致(在postman的tests里面写

  常用断言:

    1、判断响应状态码

// 断言响应状态码为 200 
pm.test("Status code is 200", function () { 
  pm.response.to.have.status(200); 
}); 

pm:postman的实例。 
test() postman实例的测试方法。 这个方法 有 2 个参数。 
参1:"Status code is 200"。 这个参数可以任意修改,不影响 断言。 作用:在断言结束后,显示给用户,断言结果的提示文字。
 
参2:是一个 匿名函数 调用。 
pm.response.to.have.status(200); 的意思是: postman的响应结果中,应该有响应状态码200。 ———— 这里的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:postman的实例。
test() postman实例的测试方法。 这个方法 有 2 个参数。
参1:"Body matches string"。 这个参数可以任意修改,不影响 断言。
作用:在断言结束后,显示给用户,断言结果的提示文字。
参2:是一个 匿名函数 调用。
pm.expect(pm.response.text()).to.include("string_you_want_to_search"); 的意思是:
postman 期望 响应文本中,应该包含 “你想搜索的字符串”(预期结果)

    

    3、断言JSON数据

Response body: JSON value Check
 
pm.test("Your test name", function () {
  var jsonData = pm.response.json();
pm.expect(jsonData.value).to.eql(100);
});
 
pm:postman的实例。
test() postman实例的测试方法。 这个方法 有 2 个参数。
参1:"Body matches string"。 这个参数可以任意修改,不影响 断言。
作用:在断言结束后,显示给用户,断言结果的提示文字。
参2:是一个 匿名函数 调用。
var jsonData = pm.response.json(); 将 整个 json响应体 赋值到 变量 jsonData 上。
pm.expect(jsonData.value).to.eql(100); postman 期望 json结果中 指定key 的值为 xxx
value 能取值:success、code、message

 postman工作原理

 

 

二、postman关联