随机数
随机数如下:
{{$guid}}:添加一个V4风格GUID(如: aa002-44ac-45ca-aae3-52bf19650e2d)
{{$timestamp}}:将当前的时间戳,精确到秒
{{$randomInt}}:添加0和1000之间的随机整数
随机抽取数组中的值
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; // 随机整数
const charsInName = ['赵', '钱', '孙', '李', '王', '张'];
const numOfChars = randomInt(2, 6);
let randomName = '';
for (let i = 0; i < numOfChars; i++) {
let index = randomInt(0, 5);
randomName += charsInName[index];
}
environment.randomName = randomName;
随机
让请求参数有点变化
// 如果想要0~1000的随机数,且不打算重用,参数里直接用Postman内建变量`{{$randomInt}}`就行
// 否则自己实现:
constrandomInt=(min,max)=>Math.floor(Math.random()*(max-min+1))+min;// 随机整数
constgetRandomValue=list=>list[randomInt(0,list.length-1)];// 随机选项
例:
// 随机手机
environment.randomMobile=`18${randomInt(100000000,999999999)}`;
// 随机2-6字姓名
constcharsInName=['赵','钱','孙','李','王','张'];
constnumOfChars=randomInt(2,6);
letrandomName='';
for(leti=0;i<numOfChars;i++){
letindex=randomInt(0,5);
randomName+=charsInName[index];
}
environment.randomName=randomName;
// 随机设备token(推送服务商提供)
constchars=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'];
letdeviceToken='';
for(leti=0;i<64;i++){
deviceToken+=getRandomValue(chars);
}
environment.randomDeviceToken=deviceToken;
// 随机设备名
environment.randomDevice=getRandomValue(['ios','android']);
// 随机行政区划
constdivisions=['北京市','上海市','天津市','重庆市','广东省深圳市','广东省广州市','新疆维吾尔自治区克孜勒苏柯尔克孜自治州'];
environment.randomDivision=getRandomValue(divisions);
// 随机生日(时间戳)
// 假设今天是2017-1-1,距1970-1-1 47年,则生日范围为 1923-1-1 ~ 2017-1-1
environment.randomBirthday=randomInt(0-Date.now(),Date.now());
// 随机群名
constgroupNames=['犯罪团伙','Wearegay','`~!@#$%^&*()-_=+'];
environment.groupName=getRandomValue(groupNames)+randomInt(0,1000);
环境变量未定义就赋初始值
environment.XXX==null||environment.NAME=value;
// == null 匹配 null 和 undefined
// 通常避免 !environment.XXX 或 environment.XXX || ... 的写法,变量有可能是false, '', 0
同步等待
避免发送请求的速度比数据库更新速度快,造成误报
constsleep=(milliseconds)=>{
conststart=Date.now();
while(Date.now()<=start+milliseconds){}
};
// 就是限时的死循环,请用小一点的数字调试
// Postman是用JS写的,单线程异步,主线程被阻塞了就没法做其他操作