友情提示:本文共有 2441 个字,阅读大概需要 5 分钟。
1. postman的断言解释
1.清除一个全局变量
Clear a global variable
对应脚本:
postman.clearGlobalVariable("variable_key");
参数:需要清除的变量的key
2.清除一个环境变量
Clear an environment variable
对应脚本:
postman.clearEnvironmentVariable("variable_key");
参数:需要清除的环境变量的key
3.response包含内容
Response body:Contains string
对应脚本:
tests["Body matches string"] =responseBody.has("string_you_want_to_search");
参数:预期内容
4.将xml格式的response转换成son格式
Response body:Convert XML body to a JSON Object
对应脚本:
var jsonObject = xml2Json(responseBody);
参数:(默认不需要设置参数,为接口的response)需要转换的xml
5.response等于预期内容
Response body:Is equal to a string
对应脚本:
tests["Body is correct"] = responseBody === "response_body_string";
参数:预期response
6.json解析key的值进行校验
Response body:JSON value check
对应脚本:
tests["Args key contains argument passed as url parameter"] = "test" in responseJSON.args
参数:test替换被测的值,args替换被测的key
7.检查response的header信息是否有被测字段
Response headers:Content-Type header check
对应脚本:
tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
参数:预期header
8.响应时间判断
Response time is less than 200ms
对应脚本:
tests["Response time is less than 200ms"] = responseTime < 200;
参数:响应时间
9.设置全局变量
Set an global variable
对应脚本:
postman.setGlobalVariable("variable_key", "variable_value");
参数:全局变量的键值
10.设置环境变量
Set an environment variable
对应脚本:
postman.setEnvironmentVariable("variable_key", "variable_value");
参数:环境变量的键值
11.判断状态码
Status code:Code is 200
对应脚本:
tests["Status code is 200"] = responseCode.code != 400;
参数:状态码
12.检查code name 是否包含内容
Status code:Code name has string
对应脚本:
tests["Status code name has string"] = responseCode.name.has("Created");
参数:预期code name包含字符串
13.成功的post请求
Status code:Successful POST request
对应脚本:
tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;
14.微小验证器
Use Tiny Validator for JSON data
2. 断言语句使用举例
以如下get请求举例
https://www.v2ex.com/api/topics/hot.json
Method: GET
Authentication: None
发送请求
如何验证返回结果?
判断请求的返回状态码为200(200表示请求正常)
pm.test("判断返回状态为200", function (){pm.response.to.have.status(200);});
2.判断返回元素中是否有node
pm.test("Body matches string", function () {pm.expect(pm.response.text()).to.include("node");});
3.判断返回的的第一篇root的值为false
pm.test("判断root为false", function () {var jsonData = pm.response.json();pm.expect(jsonData[0].node.root).to.eql(false);});
如何使用postman 控制台进行输出
打开postman console(点击“View->Show Postman Console”)
console.log(jsonData.length)
如何设置环境变量
将返回的id值设为当前环境变量
pm.environment.set("id", jsonData[0].node.id);
image.png
在Test下添加如下代码可将返回的id值设为全局环境变量
pm.globals.set("global_id", jsonData[0].node.id);
本文如果对你有帮助,请点赞收藏《postman:常用断言语句分析与使用举例》,同时在此感谢原作者。