Jmeter 脚本开发之——扩展函数

发布于 更新于
本文目录
  1. chooseRandom随机选择函数
  2. doubleSum浮点和多值求和
  3. env获取环境变量
  4. isDefined判断是否定义
  5. MD5加密函数
  6. base64Encode 使用base64编码函数
  7. base64Decode 使用base64解码函数
  8. strLen 字符串或变量值长度
  9. substring切片函数
  10. strReplace替换函数
  11. uppercase 转换为大写
  12. lowercase转换为小写
  13. iterationNum迭代次数函数
  14. if二元条件函数

技术文章性能测试

很多同学,都问我:“老师,我的jmeter里面,怎么没有MD5函数,base64函数也没有,我是不是用了假的jmeter?”

很多同学,都问我:“老师,我的jmeter里面,怎么没有MD5函数,base64函数也没有,我是不是用了假的jmeter?”

哈哈哈,不是的。jmeter的函数,有自带函数和扩展函数两大块,自带函数,就是jmeter官方自带的,只要下载jmeter,就自带了这些函数,而扩展函数,则需要安装“Custom Jmeter Functions”插件。

jmeter20211224155411.png

安装了这个插件之后,在jmeter的函数助手中,你就可以找到如下这些函数啦,快去试试吧!

chooseRandom随机选择函数

随机从多个值(用英文逗号分隔)中取1个,最后一个为接收的变量名

chooseRandom20211224160711.png

如:${__chooseRandom(red,green,blue,orange,randomcolor)},从前面的值中随机取一个值

chooseRandom20211224161456.png

doubleSum浮点和多值求和

对1、2两个参数中的多个值(用英文逗号分开,可为整数)进行求和,传递给第三个变量名

dbsum20211224162324.png

如:${__doubleSum(3.9,35.022,33,89.3,45.2,43.78,dbsum)}

dbsum20211224162651.png

env获取环境变量

获取第1个参数填写的环境变量值,传递给第2个参数变量名,如果没有这个环境变量,则返回第3个参数的默认值

env20211224163146.png

如:${__env(JAVA_HOME,javahome,null_javahome)}

env20211224163552.png

isDefined判断是否定义

填写的变量名,如果已定义可用,返回true,未定义或不可用,则返回false

isdefined20211224163907.png

如: {__isVarDefined(dbsum)} {__isVarDefined(javahome)}

isdefined20211224164650.png

MD5加密函数

对参数内容或变量值进行MD5加密,传递给第2个参数

md520211224165156.png

如: 定义一个变量pwd,值为123456, 直接加密和引用变量加密,都相同,说明第1个参数可以引用变量。

md520211224165342.png

base64Encode 使用base64编码函数

对第1个参数中内存或变量值进行base64加密,传递给第2个变量名

b64encode20211224170230.png

如: 定义一个变量vchar,值为 jmeterfunction, 直接加密和引用变量加密,结果相同,说明第1个参数可以引用变量

b64encode20211224170539.png

base64Decode 使用base64解码函数

对第1个参数内容或变量值进行base64解码,传递给第2个参数

b64decode20211224170752.png

如,定义变量 dvar值为am1ldGVyZnVuY3Rpb24=, 直接对其解码和引用变量解码,结果相同,说明第1个参数,可以引用变量

b64decode20211224171120.png

strLen 字符串或变量值长度

对第1个参数的内容或引用变量的值,进行长度测算,结果传递给第2个参数

strlen20211224174038.png

直接对一个字符串获取长度,和引用变量获取变量值的长度,都可以。

strlen20211224174215.png

substring切片函数

对第1个参数的内容或变量的值,进行从第2个参数值的索引数字开始,到第3个参数的索引数字值(不包含)结束的切片,把结果传递给第4个参数

substring20211224175118.png

如:${__substring(am1ldGVyZnVuY3Rpb24=,3,10,)} 直接截取或引用变量进行截取,都可以

substring20211224175434.png

strReplace替换函数

对第1个参数的内容或引用变量的值,搜索第2个参数的内容,有,则用第3个参数的值替换,把替换后的结果给第4个参数变量名

sreplace20211224175944.png

如:${__strReplace(jmeterfunction,j,J,)} ${__strReplace(${vchar},f,F,)} 直接对字符串或引用变量值,进行替换,都可以

sreplace20211224180211.png

uppercase 转换为大写

upper20211224183224.png

lowercase转换为小写

lower20211224183704.png

iterationNum迭代次数函数

迭代次数和循环次数还是有区别的

iteration20211224184026.png

if二元条件函数

第1个参数内容或变量值,与第2个参数内容或变量值,相等,则返回第3个参数的值,不相等,则返回第4个参数的值,最后把结果传递给第5个参数变量名

if20211224184951.png

来源:testingpai

继续阅读