Tests模块方法

请求地址

https://ke.qq.com/cgi-bin/comment_new/course_comment_stat?cid=399017&bkn=1052095361&r=0.9776743212243275

环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//1、设置环境变量
pm.environment.set("test01","hhhhh");

//2、将一个嵌套的对象设置为一个环境变量
//JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串
var array = [1,2,3,4];
pm.environment.set("array",JSON.stringify(array, null, 2));
var obj = {a:[1,2,3],b:{c:'val'}};
pm.environment.set("obj",JSON.stringify(obj))

//3、获取一个环境变量
//JSON.parse()可以把JSON规则的字符串转换为JSONObject
console.log(pm.environment.get("obj"));
console.log(JSON.parse(pm.environment.get("array")));
console.log(JSON.parse(pm.environment.get("obj")));

//4、清除一个环境变量
pm.environment.unset("obj");

全局变量

1
2
3
4
5
6
7
8
//5、设置一个全局变量
pm.globals.set("test02","ddddd");

//6、获取一个全局变量
console.log(`全局变量:${pm.globals.get("test02")}`);

//7、删除一个全局变量
pm.globals.unset('test02');

variables 变量

1
2
3
4
5
6
7
8
//8、获取一个变量(该函数在全局变量和活动环境中搜索变量)
console.log(pm.variables.get("array"));

//9、设置和删除变量(局部变量是临时的,只能在请求脚本中访问。局部变量值的作用域是单个请求或集合运行,并且在运行完成后不再可用。)
pm.variables.set("test03","qqqqqq");
console.log(pm.variables.get("test03"));
pm.variables.unset("test03");
console.log(pm.variables.get("test03"));

response断言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//10、检查响应主体是否包含字符串(相当于jmeter中的响应断言)
pm.test("检查响应主体是否包含字符串",function(){
//获取响应数据
stringData = pm.response.text();
pm.expect(stringData).to.include("result");
});

//11、断言JSON值
pm.test("断言JSON值",function(){
//获取响应转化json数据
var jsonData = pm.response.json();
pm.expect(jsonData.result.good_num).to.eql(214);
});

//12、断言响应时间
pm.test("断言返回时间",function(){
//获取响应时间
var time = pm.response.responseTime;
pm.expect(time).to.be.below(200); //单位ms
});

//13、成功的POST请求状态码
pm.test("成功的POST请求状态码", function () {
//获取响应状态码
var code = pm.response.code;
pm.expect(code).to.be.oneOf([200, 201, 202, 203]);
});

to.have断言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//14、检查响应体是否等于字符串
pm.test("检查响应体是否等于字符串",function(){
pm.response.to.have.body("{\"result\":{\"good_num\":214,\"medium_num\":0,\"bad_num\":2,\"id\":399017,\"all_num\":216,\"good_percentage\":99},\"retcode\":0}")
});

//15、响应头内容类型是否存在
pm.test("Content-Type是否存在",function(){
pm.response.to.have.header("Content-Type");
});

//16、断言状态码
pm.test("断言状态码",function(){
pm.response.to.have.status(200);
});

//17、代码名包含一个字符串
pm.test("代码名包含一个字符串", function () {
pm.response.to.have.status("ok");
});

功能

1
2
3
4
5
6
7
//18、发送异步请求,此函数可作为预请求和测试脚本使用
pm.sendRequest("192.168.68.251/bsams/front/vericode.do", function (err, response) {
console.log(response);
});

//19、将XML主体转换为JSON对象
var jsonObject = xml2Json(responseBody);