1. 生成一個MD5或SHA1加密的字符串str_md5,str_sha1
string1 = "123456";
var str_md5= CryptoJS.MD5(string1).toString(); //MD5 加密
var str_sha1= CryptoJS.SHA1(string1).toString(); //SHA1 加密
pm.globals.set("str_md5", str_md5);
2. 生成一個 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(); // 獲取當前小時數(shù)(0-23)
h=h < 10 ? ('0' + h) : h;
var m = myDate.getMinutes(); // 獲取當前分鐘數(shù)(0-59)
m = m < 10 ? ('0' + m) : m;
var date_str = Y + M + D + h + m;
pm.globals.set("date_str ", date_str );
另外一種寫法是封裝了函數(shù),可以直接調(diào)用,例如 timestamp :
function dateFormat(fmt) {
var nowDate = new Date();
var o = {
"M+" : nowDate.getMonth()+1, //月份
"d+" : nowDate.getDate(), //日
"h+" : nowDate.getHours(), //小時
"m+" : nowDate.getMinutes(), //分
"s+" : nowDate.getSeconds(), //秒
"q+" : Math.floor((nowDate.getMonth()+3)/3), //季度
"S" : nowDate.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (nowDate.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
var timestamp = dateFormat('yyyyMMddhhmmss');
pm.environment.set("timestamp",timestamp);
3. 生成自增的編號Num
var Num = pm.environment.get("Num");
Num_new = Number(Num)+Number(1);
pm.environment.set("Num", Num_new);
4. 生成隨機數(shù)值
//使用 Random 函數(shù)獲取隨機數(shù)
const RandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; //取某個數(shù)值范圍內(nèi)的隨機整數(shù)
const getRandomValue = list => list[RandomInt(0, list.length - 1)]; //取某個數(shù)組內(nèi)的隨機數(shù)值
const random_wishies= ["山河無恙","人月兩圓","國泰民安","萬事如意","貪吃不胖"];
pm.environment.set("random_wishies",getRandomValue(random_wishies));
5. 獲取在某個時間范圍內(nèi)的yyyyMMddHHmm格式的隨機時間get_rzsj
StartDate = new Date(2018,0,1);
EndDate = new Date(2018,11,31);
function getRandomDateBetween(StartDate, EndDate) // 獲取指定日期范圍內(nèi)的日期;
{
var Radomdate = new Date(1958,0,1);
x = StartDate.getTime();
y = EndDate.getTime();
Radomdate.setTime(Math.random()*(y - x + 1) + x);
return Radomdate;
}
Radomdate = getRandomDateBetween(StartDate,EndDate);
var BY = Radomdate.getFullYear(); // 獲取完整的年份(4位)
var BM = Radomdate.getMonth() + 1; // 獲取當前月份(0-11,0代表1月)
BM = BM < 10 ? ('0' + BM) : BM;
var BD = Radomdate.getDate(); // 獲取當前日(1-31)
BD = BD < 10 ? ('0' + BD) : BD;
var Radomdate_str = BY+ BM + BD ;
pm.globals.set("sjsj", Radomdate_str);
6. 生成隨機男女生姓名Name
const FirstName = ['艾','倪','薛','屈','勵','池'];
const BoyNames = ['偉','剛','勇','彬','富','順','信','弘'];
const GirlNames = ['璐','凝','曉','歡','霄','楓','青','婷'];
//使用 getNum 函數(shù)獲取隨機數(shù)
const RandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; //取某個數(shù)值范圍內(nèi)的隨機整數(shù)
const getRandomValue = list => list[RandomInt(0, list.length - 1)]; //取某個數(shù)組內(nèi)的隨機數(shù)值
let EmployeeName = ''; //初始化
let name_sex = ''; //初始化
//判斷性別
sex = RandomInt(0,1);
str = BoyNames;//默認使用 BoyNames
if (sex === 0) //如果性別取0時,使用 GirlNames
{
str = GirlNames;
name_sex = "2"; //2代表女
}
else
{
name_sex = "1"; //1代表男
}
pm.globals.set("Employee_sex", name_sex);//獲取性別
first = FirstName[Math.floor(Math.random()*FirstName.length-1)]; //隨機取一個姓氏
second = str[Math.floor(Math.random()*(str.length-1))]; //隨機取str的一個字
hasThird = RandomInt(0, 1); //使用RandomInt函數(shù)判斷是否取名字的第二個字
third = "";
if (hasThird == 1)
{
third = str[Math.floor(Math.random()*(str.length-1))];
}
var ChineseName = first + second + third;
pm.globals.set("Name",ChineseName);
7. 生成隨機身份證號碼 randomIDcardno
const odd = ['1','3','5','7','9']; //奇數(shù)數(shù)組
const even = ['0','2','4','6','8']; //偶數(shù)數(shù)組
if (name_sex == '2')
{
var num = getRandomValue(even); //如果性別為女,順序碼第三位取偶數(shù),這里getRandomValue 函數(shù)需要引用第5條或第6條的隨機數(shù)函數(shù),下同
}
else
{
num = getRandomValue(odd); //如果性別為男,順序碼第三位取奇數(shù),引用第5條或第6條的隨機數(shù)函數(shù)
}
function getIDcardno()
{
const address = ['110000','450501','361100','511323','410701','654322']; //所有區(qū)域代碼,這里省略了大部分,需要的可以自己去查下加入
var areaCode = getRandomValue(address); //隨機獲取身份證號碼前6位
var birthday = Radomdate_str; // 獲取6位出生日期
var sequencecode = Math.floor(Math.random()*10).toString() + Math.floor(Math.random()*10).toString() + num; //生成3位出生順序碼,num 分奇偶數(shù)
var array = (areaCode + birthday + sequencecode).split(""); //split方法分隔17位數(shù)字
var coefficientArray = [ '7','9','10','5','8','4','2','1','6','3','7','9','10','5','8','4','2']; //加權因子
var lastNumberArray = [ "1","0","X","9","8","7","6","5","4","3","2"]; //校驗碼
var sum = 0;
for (var i = 0; i < array.length; i++)
{
sum = sum + parseInt(array[i])*parseInt(coefficientArray[i]); //權重求和
}
var lastNumber = lastNumberArray[parseInt(sum%11)]; //
var IDcardno_String = areaCode + birthday + sequencecode + lastNumber; //
return IDcardno_String;
}
randomIDcardno = getIDcardno();//獲取函數(shù)返回值
pm.globals.set("randomIDcardno", randomIDcardno); //將函數(shù)返回值定義給全局變量randomIDcardno
8. 生成隨機手機號碼 phoneNum
function randomPhoneNum(){
var Num = '189';
for(var i=0; i < 8; i++){
Num += Math.floor(Math.random() * 10);
}
return Num;
}
var str_phone = randomPhoneNum();
pm.globals.set("phoneNum", str_phone);
9. 生成一個4位字母數(shù)字混合的字符串
pm.globals.set("random_code", ("0000" + (Math.random()*Math.pow(36,4) << 0).toString(36)).slice(-4));
10. 生成當前的時間戳
pm.globals.set("unixtime_now", Math.round(new Date().getTime()/1000));