函数
函数和方法是同一个东西
jmeter中的函数,有两大类
自带函数:jmeter工具自身带有的函数,可以在jmeter任何地方使用
拓展函数:是要应用第三方插件包,带入进来(java测开--jmeter二次开发)
jmeter中的函数(jmeter中的函数,不论有多熟练,都建议用函数助手直接生成,不建议手打)
用双下划线开头
大小写敏感
函数可以有参数,也可以没有参数,有参数就有一个小括号
${__base64Encode(,)}:进行base64加密
${__base64Decode(,)}:进行base64解密
在性能测试中,与beanshell相关的元件、函数都不建议使用。-----beanshell的性能不是很好
接口测试中无所谓
在函数中我们可以用${__jexl3(,)} 、 ${__groovy(,)} 来替代${__BeanShell(,)}来执行java代码
${__counter(,)}计数器,只能做+1操作
${__CSVRead(,)} 用来读取csv文件的函数,-----建议不要使用,参考:CSVRead的坑
${__digest(MD5,123456,,,CC)} 加密函数,只能做简单的加密
${__iterationNum} 获取迭代次数--这个函数就不带参数
${__threadNum},获取线程号
${__P(,)}获取熟悉函数,是下面这个函数的简写
${__property(,,)} 获取属性函数
${__RandomDate(,,,,)} 随机日期
${__time(,)},获取当前时间戳,且智能获取当前时间
${__timeShift(,,,,)}时间便宜函数,能对时间的加减
![](https://i-blog.csdnimg.cn/blog_migrate/0864a19ba24560291b226b8666bb7777.png)
${__V(,)} 拼接函数,实现变量拼接
举例:配合 ${__counter(,)}实现动态调用参数:{"name":"${name}","mobile":"${phone}","password":"abc12345","age":"${__V(age_${__counter(,)},)}"}
![](https://i-blog.csdnimg.cn/blog_migrate/b767321aa7d9a1c5f353e39bcf9a8cb1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c830ce73c48ddc7cdc66af1159e8da37.png)
接口关联(接口依赖)
接口关联:前面接口的出参,作为下一个接口的入参
在jmeter中,如果响应体为json格式,你要提取响应体中的数据,优先选择json提取器,不行的话再采用正则提取器(正则提取器,不管响应体是什么类型,都可以使用,也可以提取响应头中的信息)
json提取器
绝对路径取值方式 : $.根节点名称.节点名称 ----举例说明:$.data.token
相对路径取值方式: $..节点名称 -----举例说明: $..token,
类似于python自动化中的jsonpath的用法--jsonpath(response, '$..token')[0]
![](https://i-blog.csdnimg.cn/blog_migrate/f473a0882e307268b95531694d2c7243.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e808fa3db0cf40506ed412f9b1e0d98d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c8af7775527188543268fe480bd1db62.png)
用一个json提取器,提取多个不同的返回值
提取式之前用封号分割 ----$..token;$..mobile
写多个提取式时,必须填写对应的数量对默认值,且用分号分割
定义的变量名称数量,mathNo数量也要和提取式的数量一致,用;进行分割
![](https://i-blog.csdnimg.cn/blog_migrate/9c918e267321d09934672ee149eb81b7.png)
正则提取器
左边界(正则表达式)右边界 email":"(\d+)@test. com"
![](https://i-blog.csdnimg.cn/blog_migrate/7728247be0430f652793638798ff5c44.png)
![](https://i-blog.csdnimg.cn/blog_migrate/19ba42b20f27662cc2e8766f042a19c7.png)