Postman
Tests - JavaScript
设置环境变量
// 解析response中的json
var jsonData = pm.response.json();
// 设置access_token环境变量
pm.environment.set("access_token", jsonData.access_token);
// 设置access_token集合变量
pm.collectionVariables.set("access_token", jsonData.access_token);
// 设置全局变量
pm.globals.set("variable_key", "variable_value");
// 设置临时变量
pm.variables.set("variable_key", "variable_value");
// 删除环境变量
pm.environment.unset("variable_key");
在脚本中使用变量
// 在任何范围内访问变量,包括本地
pm.variables.get("variable_key");
// 获取全局变量的值
pm.globals.get("variable_key");
// 获取集合变量的值
pm.collectionVariables.get("variable_key");
// 获取环境变量的值
pm.environment.get("variable_key");
引用变量
-
{{变量名}}
-
请求body通过将变量的引用括在双引号中来访问变量
-
{ "customer_id" : "{{cust_id}}" }
动态变量(当输入{ 的时候,会自动显示三种随机变量)
应用:注册接口,注册一个账号后就不能重复注册
- {{$guid}} :uuid-v4样式的guid
- {{$timestamp}}:当前时间戳(Unix时间戳,以秒为单位)
- {{$randomInt}}:0到1000之间的随机整数
RUN运行
参数化引用外部.csv/.json测试数据
第一行写变量的名称,后面每行写测试数据
获取变量的值
// 在Console中打印csv文件中的principal值
var username = pm.iterationData.get("principal")
console.log(username)
断言
1、校验返回的body是json格式
pm.test("response must be valid and have a body", function () {
pm.response.to.be.ok;
pm.response.to.be.withBody;
pm.response.to.be.json;
});
2、对提取的返回结果校验
// 校验code为0
pm.test("response code must to be 0", function(){
pm.expect(pm.response.json().code).to.equal(0);
});
//校验msg 为 login success!
pm.test("response msg must to be login success!", function(){
pm.expect(pm.response.json().msg).to.equal("login success!");
});
// 响应结果的长度
pm.test("response token_type length must to be 6", function(){
pm.expect(pm.response.json().token_type).to.lengthOf(6);
})
// 响应结果必须包含值的部分
pm.test("response must to be token", function(){
pm.expect(pm.response.text()).to.include("bear");
})
3、校验返回状态码是200
pm.test("Status code is 200", function(){
pm.response.to.have.status(200);
})
4、校验 Content-Type 在返回头部
pm.test("Content-Type header is present",function(){
pm.response.to.have.header("Content-Type");
})
5、校验返回的头部Content-Type 值为 application/json;charset=UTF-8
pm.test("Content-Type header is application/json;charset=UTF-8",function(){
pm.expect(pm.response.headers.get("Content-Type")).to.eql("application/json;charset=UTF-8");
})
6、接口返回的json数据又有这个账号名称,想断言结果返回的值和变量username相等
pm.test("Response property matches environment variable", function () {
pm.expect(pm.response.json().username).to.eql(pm.environment.get("username"));
});
标签:function,Postman,token,json,variable,response,pm
From: https://www.cnblogs.com/HollowPan/p/17368358.html