函数名 | 作用 | 用法 |
${__Random(,,)} ${__RandomString(,,)} | 随机生成一些东西 | ${__Random(000,999,)} ${__Random(${test1},${test2},)} ${__RandomString(${__Random(3,9,)},asdfghjkl,)} |
${__time(,)} | 获取当前的时间戳,也可以定义格式 | |
${__CSVRead(,)} | 读取CSV文件的格式,推荐使用CSV配置元件 | |
${__digest(,,,,)} | 进行加密的算法 | 支持的算法:MD2、MD5、SHA-1、SHA-224等 |
${__counter(,)} | 计数函数,用于计数,比如记录发送了多少次请求 | ${__counter(true,)} :每个虚拟用户都有自己的计数器 第一个参数是true或false,默认是false 第二个参数是变量名,生成的数字可以保存在一个变量中,方便后续调用 使用场景:统计发送请求的数量,counter函数生成的数字做变量名的下表,实现循环一次调用多个变量
|
${__V(,)} | 拼接函数 | 可以用来拼接变量和变量、变量和函数 注意: (1)V函数的第二个参数的都好必须保留逗号,JMeter语法保留 (2)变量需要提前定义,如果user1未定义,调用时会返回user1 (3)嵌套调用比直接引用变量稍慢,在高并发测试中需要注意 |
计数器 | 不是函数,是配置元件,优先级比较高 | 作用:控制生成一个数字从哪里开始,到哪里结束并间隔多少,限定一个区间,不会像counter函数出现越界取不到值的现象 优点:循环取值 ----- 适合做数字下标,借助V函数进行拼接 |
${__setProperty(,,)} | 设置动态属性的函数 | (1)在函数里面设置属性的名字和属性值:属性值可以设置固定的值,也可以调用变量获取值 (2 )调用setproperty的函数,才会添加属性成功--调试取样器/后置处理程序里调用了这个设置属性函数执行了 (3)运行Jmeter脚本,会执行这个函数的调用,就会设置属性每次是再去检查下Jmeter的属性显示(测试计划--添加--非测试元件--属性显示),就能看到设置的动态属性 (4)一旦设置了,只有把Jmeter工具关闭了才能释放,没有关闭工具,属性一直都在可用 |
${__property(,,)} ${__P(,)} | 获取属性函数 动态属性 静态属性 Jmeter工具属性 | 直接去获取Jmeter属性里的值,因为属性是多个线程组共享的,这样可以实现用户参数跨线程组的使用,这个在混合场景性能模型的时候会使用 ---- 这两个函数均从全局属性池中读取值,因此不受线程组隔离限制 ----- 出现的问题: 在Jmeter中,默认的时候多个线程组是并行执行的,有可能出现先后执行的差异 在第一次启动运行的时候,可能会出现的获取上一次设置的属性的值;而上一次的值有可能为空,所以获取属性第一次可能会没有值,但是不影响性能测试的结果 如果做功能测试就是希望每一次都可以取到值,使用固定定时器延迟启动--不推荐使用 |