postman常用脚本
1、格式化时间
返回时间:2021-08-19 15:43:00
调用:
let date = new Date()
dateFormat("YYYY-mm-dd HH:MM:SS", date)
2、获取当前时间戳
var timestamp = Date.now();
3、字母大小写转换
toLowerCase 方法:返回一个字符串,该字符串中的字母被转换为小写字母。
strVariable.toLowerCase( )
"String Literal".toLowerCase( )
(说明:toLowerCase 方法对非字母字符不会产生影响。)
ttoUpperCase 方法:返回一个字符串,该字符串中的所有字母都被转化为大写字母 。
strVariable.toUpperCase( )
"String Literal".toUpperCase( )
4、 判断 js 中基本数据类型
typeof方法
可以判断 js 中基本数据类型,但无法判断对象的具体类型
console.log("a:"+typeof(a));
5、md5加密
var strmd5= CryptoJS.MD5(str).toString();
6、异步等待,防止postman界面卡死
const sleep = time => {
return new Promise(resolve => setTimeout(resolve, time)
)
}
console.log('等待3秒钟')
sleep(3000)
7、 生成随机手机号码
function randomPhoneNum(){
// 手机开头
var Num = ‘155’;
for(var i=0; i < 8; i++){
Num += Math.floor(Math.random() * 10);
}
return Num;
}
var str_phone = randomPhoneNum();
//生成手機號,存入环境变量
pm.environment.set(“phoneNum”, str_phone);
console.info(str_phone)
8.生成当前日期和时间
// 生成一个当前时间 yyyyMMddHHmm 格式的字符串date_str(了解)
var myDate = new Date(); //获取当前时间
var Y = myDate.getFullYear(); // 获取完整的年份(4位)
var M = myDate.getMonth() + 1; // 获取当前月份(0-11,0代表1月)
M = M < 10 ? (‘0’ + M) : M;
var D = myDate.getDate(); // 获取当前日(1-31)
D = D < 10 ? (‘0’ + D) : D;
var h = myDate.getHours(); // 获取当前小时数(0-23)
h=h < 10 ? (‘0’ + h) : h;
var m = myDate.getMinutes(); // 获取当前分钟数(0-59)
m = m < 10 ? (‘0’ + m) : m;
var s = myDate.getSeconds()
s= s < 10 ? (‘0’ + s) : s;
// 时间格式
var dateStr = Y +"-"+ M +"-"+ D +"-" +h +":"+ m+":"+ s;
//设置当前时间格式 年-月-日-时:分:秒
pm.environment.set(“timeStr”, dateStr);
console.info(dateStr)
// 时间戳 得到当前时间的毫秒值
pm.environment.set(“unixtime_now”, Math.round(new Date().getTime()));
9.生成一个MD5或SHA1加密的字符串
// 生成一个MD5或SHA1加密的字符串str_md5,str_sha1(了解)
var str_md5= CryptoJS.MD5(“145441movie”).toString(); //MD5 加密
var str_sha1= CryptoJS.SHA1(“123456”).toString(); //SHA1 加密
pm.environment.set(“str_sha1”, str_sha1);
pm.environment.set(“md55”, str_md5);
console.info(data.mob)
获取响应的数据,设置环境变量
//获取到响应的数据,根据数据层级得到某个值,设置环境变量
pm.test(“Your test name”, function () {
// 获取到响应的数据
var jsonData = pm.response.json();
// 设置环境变量
pm.environment.set(“token”, jsonData.data.token);
pm.environment.set(“uid”, jsonData.data.uid);
// 名称 值(通过层级获取)
pm.environment.set(“username”,jsonData.data.username);
});
//设置全局变量
pm.globals.set(“name”, “liujin”);
pm.test(“判断接口响应状态码是200”, function () {
//判断响应状态码
pm.response.to.have.status(200);
});
//响应的时间少于 (ms)
pm.test(“Response time is less than 100ms”, function () {
pm.expect(pm.response.responseTime).to.be.below(100);
});
//判断响应的某个值等于()
pm.test(“登录成功”, function () {
var jsonData = pm.response.json();
// 层级获取值 判断等于的值
pm.expect(jsonData.code).to.eql(“0”);
});
//判断响应的数据包含只要是相连的,单独的键 和 值
pm.test(“Body matches string”, function () {
//判断请求的接口里是否有成功
pm.expect(pm.response.text()).to.include(“成功”);
});
// 获取一个环境变量 通过“键”获取
var uid = pm.environment.get(“uid”);
console.info(uid)
//获取全局变量 通过“键”获取
var glo = pm.globals.get(“name”);
console.info(glo)