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

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

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

Jmeter 脚本开发之——扩展函数_第1张图片

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

chooseRandom 随机选择函数

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

Jmeter 脚本开发之——扩展函数_第2张图片

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

Jmeter 脚本开发之——扩展函数_第3张图片

doubleSum 浮点和多值求和

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

Jmeter 脚本开发之——扩展函数_第4张图片

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

Jmeter 脚本开发之——扩展函数_第5张图片

env 获取环境变量

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

Jmeter 脚本开发之——扩展函数_第6张图片

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

Jmeter 脚本开发之——扩展函数_第7张图片

isDefined 判断是否定义

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

Jmeter 脚本开发之——扩展函数_第8张图片

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

Jmeter 脚本开发之——扩展函数_第9张图片

MD5 加密函数

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

Jmeter 脚本开发之——扩展函数_第10张图片

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

Jmeter 脚本开发之——扩展函数_第11张图片

base64Encode 使用 base64 编码函数

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

Jmeter 脚本开发之——扩展函数_第12张图片

722 x 481

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

Jmeter 脚本开发之——扩展函数_第13张图片

base64Decode 使用 base64 解码函数

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

Jmeter 脚本开发之——扩展函数_第14张图片

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

Jmeter 脚本开发之——扩展函数_第15张图片

strLen 字符串或变量值长度

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

Jmeter 脚本开发之——扩展函数_第16张图片

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

Jmeter 脚本开发之——扩展函数_第17张图片

substring 切片函数

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

Jmeter 脚本开发之——扩展函数_第18张图片

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

Jmeter 脚本开发之——扩展函数_第19张图片

strReplace 替换函数

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

Jmeter 脚本开发之——扩展函数_第20张图片

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

Jmeter 脚本开发之——扩展函数_第21张图片

uppercase 转换为大写

Jmeter 脚本开发之——扩展函数_第22张图片

lowercase 转换为小写

Jmeter 脚本开发之——扩展函数_第23张图片

iterationNum 迭代次数函数

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

Jmeter 脚本开发之——扩展函数_第24张图片

if 二元条件函数

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

Jmeter 脚本开发之——扩展函数_第25张图片

你可能感兴趣的