jmeter的日常特殊参数化

Posted alexr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter的日常特殊参数化相关的知识,希望对你有一定的参考价值。

 

 

 

 

1.map转译符号:

  如果///Mobile///:///18888888888///
  需要再参数化请这样做,////Mobile////://///${Mobile}/////
 
2.int (round(time.time() * 9.3)) --python实现可随机产生一个电话号码的函数
   9.3--13都可以产生电话号码。
 
 Excel
 想要插入135的电话号码,输入公式=RANDBETWEEN(13500000000,13599999999)。
 以下是excel生成的结果:
 
 13529542520
 13530064418
 13519555817
 13567783918
 13512706205
 13528176869
 13523997184
 
3.MD5加密参数法
 
dataMap.put("version", paramsMap.get("version"));1
dataMap.put("channelSource", paramsMap.get("channelSource"));
dataMap.put("sourceType", paramsMap.get("sourceType"));
dataMap.put("hostApp", paramsMap.get("hostApp"));1
dataMap.put("token", paramsMap.get("token"));1
dataMap.put("timestamp", paramsMap.get("timestamp"));1
dataMap.put("userNo", paramsMap.get("userNo"));1
dataMap.put("productCode", paramsMap.get("productCode"));1
dataMap.put("method", paramsMap.get("method"));1

规则给以下参数加密,先是取session=public_key_1,然后再是各参数加密,排列按阿拉伯数字音节顺序排列A-Z依次排列,使用Jmeter的MD5加密。

MD5加密:
"sign": "${__MD5(${public_key_1}${channelSource}${hostApp}${method7}${productCode}${sourceType}${__time(,)}${token}${userNo}${version})}",
 
4.取当前日期的截取的参数 取dd   当yyyyMMdd=20170224
${__substring(${__time(yyyyMMdd,)},6,8)}=   24
 
__substring函数  取字符串中的子串,指定起始下标
${__substring(hell world,5,10,)} = world
 
${__time(yyyyMMdd,)} =20170224     //返回年月日 

  

5.常用于带时间戳的地方

比如:带时间戳的结果文件,每次运行生成独立文件
[plain] view plain copy
${__time(,)}         1450056496991 //无格式化参数,返回当前毫秒时间 
${__time(yyyyMMdd,)} 20170223      //返回年月日 
${__time(HHmmss,60)}   170116        //返回时分秒 
${__time(yyyyMMdd-HHmmss,)} 20170223-170116 //全 
${__time(yyyy-MM-dd HH:mm:ss,ReqTime)}
显示为 -> 2016-11-28 20:01:32

6.Excel随机生成ip的函数

=ROUND(RAND()*255,0)&"."&ROUND(RAND()*255,0)&"."&ROUND(RAND()*255,0)&"."&ROUND(RAND()*255,0)

随机造数据如下:

技术分享图片

压测前不要把随机函数编译器加入到压测脚本里面。因为随机函数,MD5,都是要计算的。每次计算都耗费内存和响应时间。影响测试。

所以尽量把它做好数据放在CSV文件里。

7.正则表达式,过滤小于5位数的数据。选择notepad++的正则表达式

替换小于5位数字的短数 ,使用notepad++ 去掉 5位以下的的位数 替换为空。
^.{0,5}
 

  

8.手机号码随机数造取,不同城市手机

   输入以下公式,然后向右向下填充公式:

=CHOOSE(RANDBETWEEN(1,10),1510204,1589025,1390522,1352017,1370592,1870529,1800572,1800521,1307529,1306529)&TEXT(RANDBETWEEN(0,10^4-1),"0000")

公式分成两部分,CHOOSE(RANDBETWEEN(1,10),1515204,1589525,1390522)表示随机从1515204,1589525,1390522三个数号选一;TEXT(RANDBETWEEN(0,10^4-1),"0000")表示,将0-9999之间的随机数以4位数显示。从而实现在给出的号段随机生成号码的效果。

制造不同城市的手机号码

 

9.EXCEL里面的 Vlookup,CONCATENATE----&拼接,函数的应用拼接数据

  &拼接 相当于CONCATENATE

技术分享图片

 在notpad++里把无数行 替换成一行,把 替换成空

 技术分享图片

替换成功

 技术分享图片

 手动拼接函数 CONCATENATE

 技术分享图片

 

 

 









以上是关于jmeter的日常特殊参数化的主要内容,如果未能解决你的问题,请参考以下文章

性能测试-JMeter参数化CSV Data Set Config

【JMeter05】参数化之绝对路径&相对路径

Jmeter 接口测试,参数值为列表,如何参数化?

Jmeter 接口测试,参数值为列表,如何参数化?

jmeter中的参数化

Jmeter组件之-Test Fragment(测试片段)