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(); // 获取当前小时数(0-23)
h=h < 10 ? ('0' + h) : h;
var m = myDate.getMinutes(); // 获取当前分钟数(0-59)
m = m < 10 ? ('0' + m) : m;
var date_str = Y + M + D + h + m;
pm.globals.set("date_str ", date_str );

另外一种写法是封装了函数,可以直接调用,例如 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. 生成随机数值

//使用 Random 函数获取随机数
const RandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; //取某个数值范围内的随机整数
const getRandomValue = list => list[RandomInt(0, list.length - 1)]; //取某个数组内的随机数值
const random_wishies= ["山河无恙","人月两圆","国泰民安","万事如意","贪吃不胖"];
pm.environment.set("random_wishies",getRandomValue(random_wishies));

5. 获取在某个时间范围内的yyyyMMddHHmm格式的随机时间get_rzsj

StartDate = new Date(2018,0,1);
EndDate = new Date(2018,11,31);
function getRandomDateBetween(StartDate, EndDate) // 获取指定日期范围内的日期;
{
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 函数获取随机数
const RandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; //取某个数值范围内的随机整数
const getRandomValue = list => list[RandomInt(0, list.length - 1)]; //取某个数组内的随机数值
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函数判断是否取名字的第二个字
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'];  //奇数数组
const even = ['0','2','4','6','8']; //偶数数组
if (name_sex == '2')
{
var num = getRandomValue(even); //如果性别为女,顺序码第三位取偶数,这里getRandomValue 函数需要引用第5条或第6条的随机数函数,下同
}
else
{
num = getRandomValue(odd); //如果性别为男,顺序码第三位取奇数,引用第5条或第6条的随机数函数
}
function getIDcardno()
{
const address = ['110000','450501','361100','511323','410701','654322']; //所有区域代码,这里省略了大部分,需要的可以自己去查下加入
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 分奇偶数
var array = (areaCode + birthday + sequencecode).split(""); //split方法分隔17位数字 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();//获取函数返回值
pm.globals.set("randomIDcardno", randomIDcardno); //将函数返回值定义给全局变量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位字母数字混合的字符串

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));

Postman 中 Pre-request Script 常用 js 脚本的更多相关文章

  1. 如何把百度统计代码放入JS文件中?百度统计的JS脚本原理分析

    <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script&quo ...

  2. 前端常用js脚本

    常用js整理 //获取Url中的参数值 function getQueryString(name) { var reg = new RegExp("(^|&)" + nam ...

  3. blog postman 翻译(2):postman中新增request attributes 的描述(desc)

    blog的原文链接是:http://blog.getpostman.com/2017/06/03/descriptions-for-request-attributes-in-postman/ pos ...

  4. 使用javax.script包实现Java设置JS脚本中的变量

    下面例子中,我们通过javax.script包ScriptEngine.put()方法设置JS脚本中的变量,JS把所有在线用户输出. package ajava.code.javase; import ...

  5. 『政善治』Postman工具 — 8、Postman中Pre-request Script的使用

    目录 1.Pre-request Script介绍 2.常用SNIPPETS(片段)说明 (1)获取变量脚本: (2)设置变量脚本: (3)清空变量脚本: (4)Send a request代码片段 ...

  6. C#中如何使用JS脚本

    C#中如何使用JS脚本 目前在做的组态软件中就使用到了js脚本,这部分js脚本是供用户编写的,用户可以通过我们提供的脚本以及js自身的逻辑,用户就可以随心所欲的控制设备的运行.有比较了几款在C#中执行 ...

  7. 小米手机 js 脚本取src为空的适配问题

    今天測试提上来一个问题 我android webview 中运行了一段js脚本.去替换原来的图片.可是小米手机上竟然没起作用 花了一个中午的午休看问题 贴出来帮助下遇到相同的问题的朋友吧.我百度了半天 ...

  8. SharePoint JS感悟-js脚本

    最近有些迷恋js脚本,因为自己对Asp.net不够熟悉,又是Moss的一年级新生,不是对代码开发不感兴趣,面向对象自己也了解一些,代码也能大致读懂,个人觉得还是经验积累,作为代码开发人员,还是需要3- ...

  9. JS脚本实现CSDN免登陆免关闭广告插件自动展开“阅读更多”内容

    最近在CSDN查资料,总是弹出以下弹窗,然后就自动跳转到登录页面,蛋疼! 于是重新捣腾了一下,修改了原来的脚本,最新的脚本代码如下: 温馨提示:在打开CSDN页面后立刻执行以下脚本即可免登陆免关闭广告 ...

随机推荐

  1. 面试官:能手写实现call、apply、bind吗?

    1 call.apply.bind 用法及对比 1.1 Function.prototype 三者都是Function原型上的方法,所有函数都能调用它们 Function.prototype.call ...

  2. tcp 三次握手建立连接难点总结

    所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包. 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号 ...

  3. (四)php连接apache ,使用php-fpm方式

    上面各篇记录了编译安装lamp的各个部分,下面主要解决php和apache的连接问题.通过 php-fpm 连接. 连接前环境检查: php -v PHP 5.6.30 (cli) (built: O ...

  4. Java 在PPT中创建散点图

    本文将以Java代码示例展示如何在PPT幻灯片中创建散点图表. 创建图表前 需要在Java程序中导入用于操作PPT的jar包 Free Spire.Presentation for Java.可参考如 ...

  5. vue-router 4 你真的熟练吗?

    虽然 vue-router 4 大多数 API 保持不变,但是在 vue3 中以插件形式存在,所以在使用时有一定的变化.接下来就学习学习它是如何使用的. 一.安装并创建实例 安装最新版本的 vue-r ...

  6. LoadRunner12浏览器录制(谷歌火狐)

    一.使用谷歌浏览器 下载的版本 65.0.3325.162(正式版本)(64 位)安装之前要记得把电脑现有的谷歌浏览器卸载了. 1.下载地址:https://www.chromedownloads.n ...

  7. 怎么将本地已有的一个项目上传到新建的git仓库的方法

    将本地已有的一个非git项目上传到新建的git仓库的方法一共有两种. 一. 克隆+拷贝 第一种方法比较简单,直接用把远程仓库拉到本地,然后再把自己本地的项目拷贝到仓库中去.然后push到远程仓库上去即 ...

  8. CentOS8安装VNC-Server,并使用VNC Viewer连接

    1.查看系统信息 # 查看red-hat版本信息 cat /etc/redhat-release CentOS Linux release 8.0.1905 (Core) 2.安装VNC Server ...

  9. 动手写一个简单的Web框架(模板渲染)

    动手写一个简单的Web框架(模板渲染) 在百度上搜索jinja2,显示的大部分内容都是jinja2的渲染语法,这个不是Web框架需要做的事,最终,居然在Werkzeug的官方文档里找到模板渲染的代码. ...

  10. java自定义序列化

    自定义序列化 1.问题引出 在某些情况下,我们可能不想对于一个对象的所有field进行序列化,例如我们银行信息中的设计账户信息的field,我们不需要进行序列化,或者有些field本省就没有实现Ser ...