====== 函数 ======
>函数
Tools >函数助手
- _Random()随机函数 -----随机数字,包括左右边界,会重复
- _RandomString()随机字符串
- _counter()计数器函数 每次+1
- _digest()加密函数(MD5)
- _intSum()整数求和
- _P()、
- _property()获取属性函数
属性:静态属性、动态属性
静态属性:固定写死在文件.properties
动态属性:在jmeter运行过程中,动态生成,关闭jmeter后自动结束属性======标签、
- _setProperty()设置属性,生成动态属性的函数,可以自己定义属性名称和值
属性可以跨线程组直接传递
变量:自身脚本运行需要的,也是外在附加定义
局部变量:不能直接跨线程组,但是,我把它动态设置成属性,就可以跨线程组
====实现:局部变量,用_setProperty()设置为jmeter的动态属性,然后再用_P()、_property(),就可以直接用
属性:用户属性、系统属性
- _threadNum获取线程数
- _time()获取当前时间函数
> s{_time(yyy-MM-dd HH.mm:ss:SSs,)}
- timeShift()时间位移
> ${_timeShift(yyy-MM-dd HH.mm:ss:sss,,p2dt4h6m10.234s,,)}
- _RandomData()随机日期
> ${_RandomDate(yyyyMMdd,20201018,20201028,,)}
- _dateTimeCovert()时间戳转本地时间
> ${_dateTimeConvert(1599723255000,,yyyyMMdd HHmmss,)}
- _v()拼接函数
jmeter不仅乏持java,还持groovy. jyfhon三种 ----性能脚本中,不用beanshell元件----jsr223
groovy=====java语言的变种,只要懂java,就能写大部分的groovy
jython-----java+python的结合体,python写 py+java语法m--jython
java是一种编译语言,执行的时候,先编译再执行,编译的时候,生产了class二进制的字节码文件:=====执行的时候,效率比较
python是一种解释性语言,翻译一行,执行一行,效率比java要低
jython,写法比java要简单,用的是 python的写法,编译语言,执行的时候class文件,然后再执行,效率比 python要高,跟java效本基本一样
ngrinder=====能直接生成groovy的脚本、也能生成jython的脚本这个工具,可以直接录制脚本
json提取器:后置处理器,
1、后置处理器优先级:在取样器之后,优先级肯定低于取样器
2、当你判断出response为json格式时,优先采用json提取器(json提取器只能提取json),如果response不是json,就不能使用json提取器
优先采用json,一json提取器速度最快、效率最高、也是最简单的
json提取式写法:
绝对路径:$.一级节点.二级节点
相对路径:$..节点名称====值
在json提取器中,向有关json提取器写多个提取式,一定要写default value,而且default value的数量要与提取式的数量相同