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

2 回帖
请输入回帖内容 ...
  • 18902017295

    这个插件在哪里下载

    1 回复
  • Allen

    jmeter 插件管理器中,如果没有下载过,可以在第 2 个页签【可用插件】 中找到, 如果,在不确定是否有下载,可以在第 1 个页签【已安装插件】中找到。