jmeter(20)函数使用uuid intsum random counter csvread

6. uuid -数据计算函数

作用:通用唯一标识符函数,生成一个32位不重复的随机字符串。

示例:
${__UUID()}
返回结果类似:c69e0dd1-ac6b-4f2b-8d59-5d4e8743eecd



1、UUID有几种类型,比如类型1 UUID是基于时间的,类型2 UUID是基于名称的,类型4 UUID是随机生成的,JMeter_UUID 函数返回Type 4 UUID,

2、Type 4 UUID代表128位整数(16字节),可以在需要唯一标识符的所有计算机和网络中使用。这种标识符具有非常低的重复概率,它由一组8个十六进制数字组成,后跟三组每组4个十六进制数字,后跟-组12个十六进制数字。以下示例UUID显示UUID中十六进制数字的分组: 6B29FC40 CA47-1067-B31D- 00DD010662DA

场景:
循环控制器 执行5次
循环控制器下放一个beanshell请求

log.error(Parameters);

vars.put("par",Parameters);
vars.get("par");

运行结果:

7.__intSum-数据计算函数

1、需要两个或多个整数(增加或减少)计算总和时,它可以是非常有用的实例。注意,可以有效使用的最大值是2147483647,最小值是2147483648。如果您需要更多,您可能需要考虑切换到__ _longSum函数-它完全相同但操作java.lang.Long而不是java.lang.Integer.如果你需要操作更大的数字,你可以随时切换到Beanshell并从那里使用BigInteger类。

2、例如:

*${__intSum (1,5, ) }-将返回6

*${__intSum (1,5,8) }将返回14

*${__intSum (1,5,8, SUM) } 将返回14并将其存储到SUM变量

*${__intSum (10, -5) } 将返回5

*${__intSum ($ {A}, $ {B}) }-将返回A和B变量的整数表示和的评估,这对于Counter值处理可以很方便。

场景:
${__intSum(3,4,A)}
${__intSum(3,4,B)}
${__intSum(${A},${B},C)}





8. __Random-数据计算函数

作用:随机数函数返回指定最大值和最小值之间的随机整数

1、Random随机函数是从某数据段随机读取数据替换参数, 当需要添加多条数据记录且某些字段需要唯一性时使用, 使用该函数随机生成的数据是数字。

2、参数

1)随机数最小值

2)随机数最大值

3) 可选,函数名称,在测试计划中,供后续引用计数器的值: ${random}


场景1:比如我们测试手机号时,只要第一个是1,长度是11,那么我们就认为是合法的

此时就可以使用1+随机函数整数来模拟

或者场景2:

压测时 我用的的value= ${__RandomString(5,abcd,)}${__Random(1,100000,)} 组合起来是一定不会重复的值

${__RandomString(5,abcd,)}

${__Random(1,100000,)} 不填写存储结果的变量名

9.counter计数器函数

详见 https://www.cnblogs.com/yiyaxuan/p/12378826.html

10. CSVRead

1、cvsRead函数是从外部读取参数,csvRead函数可以从一个文件中读取多个参数
2、参数

1)要读取的文件路径,为绝对路径

2)从第几列开始读取,第- -列是0,第二列是1,第三列是2,以此类推

跟配置元件中的【CSV数据文件设置】相像。有的时候没有配置元件中的方式好用比如数据库参数化数据这个函数会不生效。而配置元件中的【CSV数据文件设置】则可以使用。

因为使用函数时可能会失效。

我的csv data数据:

场景1:线程数=5 循环次数=1


场景2:线程数=1 循环次数=5

循环只是同一个请求再次循环一次,并没有作为虚拟用户去使用csv文件中的数据,仅在这里理解。

当数据不够时,会从初始值从新读取。

原文地址:https://www.cnblogs.com/yiyaxuan/p/12390546.html