1.登录成功之后,在header中获取cookie,并设置成环境变量
//获取cookie值
var jsondata = postman.getResponseHeader("set-cookie");
console.log(jsondata)
//设置成环境变量
data = jsondata.split(";")[0];
data = data.split("=")
console.log(data)
postman.setEnvironmentVariable("Cookie_name",data[0]);
postman.setEnvironmentVariable("Cookie_value",data[1]);
2.操作时间,并将时间设置为环境变量
var moment = require('moment');
var ctime = moment().format(" YYYYMMDDHHmmss");
var cjia1=moment(new Date().getTime()+3600*1000*24).format('YYYY-MM-DD HH:mm')
var cjia2=moment(new Date().getTime()+3600*1000*24).format('YYYY-MM-DD')
var cjia3=moment(new Date().getTime()+3600*1000*24*3).format('YYYY-MM-DD HH:mm')
pm.environment.set('name', ctime);
pm.environment.set('zhuanghuo', cjia1);
pm.environment.set('sendtime', cjia2);
pm.environment.set('xiehuo', cjia3);
3.定义列表,并随机获取列表中的数据,设置为环境变量
var arr = ['管理员', '李新','赵本存','赵本林','高伟人','齐丽娅','袁志佳','唐作田','邓树健','韩丽洁','刘大磊'];
var index = Math.floor((Math.random()*arr.length));
postman.setEnvironmentVariable('People',arr[index]);
4.断言
(1)响应为text格式的断言
pm.test("测试某个页面的功能是否正常", function () {
var body = pm.response.text();
var title = body.match(/<提取字段之前的内容>(.*?)<\/提取字段之后的内容>/)[1];
var a='预期值'
pm.expect(title).to.eql(a);
});
(2)响应为json格式的断言
pm.test("app登录", function () {
c=pm.response.json()
b=c['code']
username=c['data']['username']
tests[username]=true
//设置环境变量,下一个接口调用
pm.environment.set("username1", username);
pm.expect(b).to.eql(200)
});
(3)对结果进行分析判断
pm.test("添加采购单", function () {
var jsonData = pm.response.json();
if(jsonData.data[0].msg="添加采购单成功!"){
pm.expect(jsonData.data[0].success).to.eql(true);
}
else if (jsonData.data[0].msg="库存不足!"){
console.log('不存不足')
}
else{
pm.expect(jsonData.success).to.eql(true);
}
});
5.获取响应body中的最大值(最大id)
//提取出响应体中所有的id
function value(x){
var body = pm.response.text();
supplyid1=String(body.match(x));
supplyid = String(supplyid1.match(/\d+/g));
s=supplyid.split(",");
return s
}
//遍历列表,并提取最大值
function unique(arr) {
if (!Array.isArray(arr)) {
console.log('type error!')
return
}
var array =[];
for(var i = 0; i < arr.length; i++) {
if( !array.includes( arr[i]) ) {//includes 检测数组是否有某个值
array.push(arr[i]);
}
}
// tests[array]=true
a=Math.max.apply(null,array);
tests[a]=true
return a
}
var arr=value(/"id":\d+,"/g)
pm.environment.set("shigognduiId", unique(arr));
6.随机生成时间戳
var times = Date.now().toString();
pm.environment.set('timestamp', times);
7.预置脚本中,提前发送请求(post)
//获取collection中的变量
url = pm.collectionVariables.get("url_ynl");
function denglu(phone){
const request1 = {
url:url+'path',
method: 'POST',
header: 'application/x-www-form-urlencoded; charset=UTF-8',
body: {
mode: 'urlencoded',
urlencoded:'mobile_number='+phone+'&mobile_code=888&session_key=&AutoLogin=true'
}
};
pm.sendRequest(request1, function (err, response) {
console.log(response.json());
});
}
denglu('15555555555')
8.循环发送get请求
for(i=0;i<=Pagecount;i++){
function denglu(){
const request1 = {
url:url+'pathList/'+i,
method: 'GET',
// 请求体
};
pm.sendRequest(request1, function (err, response) {
a= response.text();
console.log(a)
});
}
}
9.生成最大最小值,设置环境变量
function getRandomInt(min,max){
var num= Math.floor(Math.random()*(max-min+1))+min;
return num
}
pm.environment.set("randomnum", getRandomInt(5,18));