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

农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述Jmeter 脚本开发之——扩展函数相关的知识,希望能为你提供帮助。
很多同学,都问我:“老师,我的 jmeter 里面,怎么没有 MD5 函数,base64 函数也没有,我是不是用了假的 jmeter?”
哈哈哈,不是的。jmeter 的函数,有自带函数和扩展函数两大块,自带函数,就是 jmeter 官方自带的,只要下载 jmeter,就自带了这些函数,而扩展函数,则需要安装“Custom Jmeter Functions”插件。


?

安装了这个插件之后,在 jmeter 的函数助手中,你就可以找到如下这些函数啦,快去试试吧!
chooseRandom 随机选择函数随机从多个值(用英文逗号分隔)中取 1 个,最后一个为接收的变量名


?

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


?

doubleSum 浮点和多值求和对 1、2 两个参数中的多个值(用英文逗号分开,可为整数)进行求和,传递给第三个变量名
【Jmeter 脚本开发之——扩展函数】

?

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


?

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


?

如:$__env(java_HOME,javahome,null_javahome)


?

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


?

如: __isVarDefined(dbsum) __isVarDefined(javahome)


?

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


?

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


?

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


?

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


?

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


?

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


?

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


?

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


?

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


?

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


?

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


?

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


?

uppercase 转换为大写

?

lowercase 转换为小写

?

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


?

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


?




    推荐阅读