JMeter是一个强大的开源性能测试工具,常用于测试Web应用程序的负载能力和性能,在使用过程中,JMeter提供了许多内置函数,用于处理各种测试场景中的动态数据和参数化请求,以下是Jmeter常见函数使用方法汇总:
1、__intSum
功能:计算两个或多个整数值的总和。
用法:
{__intSum(2,5,MYVAR)}
将返回 7 (2 + 5) 并将结果存储在 MYVAR 变量中。{MYVAR} 将等于7。
${__intSum(2,5,7)}
将返回 14 (2 + 5 + 7) 并将结果存储在 MYVAR 变量中。
{__intSum(1,2,5,${MYVAR})}
MYVAR 值等于8、1 2 5 {MYVAR}, 则返回16。
2、__longSum
功能:计算两个或多个长值的总和,适用于值不会在间隔 2147483648 到 2147483647 之间的情况。
用法:
{__longSum(2,5,MYVAR)}
将返回 7 (2 + 5) 并将结果存储在 MYVAR 变量中。{MYVAR} 将等于7。
${__longSum(2,5,7)}
将返回 14 (2 + 5 + 7) 并将结果存储在 MYVAR 变量中。
{__longSum(1,2,5,${MYVAR})}
MYVAR 值等于8、1 2 5 {MYVAR}, 则返回16。
3、__StringFromFile
功能:从文本文件读取字符串,这对于运行需要大量可变数据的测试非常有用。
用法:
${__StringFromFile(PIN#'.'DAT,,1,2)}
读取 PIN1.DAT, PIN2.DAT。
${__StringFromFile(PIN.DAT,,,2)}
读取 PIN2.DAT 两次。
4、__machineName
功能:返回本地主机名。
用法:
${__machineName()}
将返回计算机的主机名。
${__machineName}
将返回计算机的主机名。
5、__machineIP
功能:返回本地 IP 地址。
用法:
${__machineIP()}
将返回计算机的 IP 地址。
${__machineIP}
将返回计算机的 IP 地址。
6、__javaScript
功能:执行一条 JavaScript (不是 Java) 代码并返回其值。
用法:
${__javaScript('${sp}'.slice(7\,99999))}
7后的逗号被转义。
${__javaScript(new Date())}
将返回 Sat 2016年1月09日 16:22:15 GMT 0100 (英语)。
${__javaScript(new Date(),MYDATE)}
将返回星期六 2016年1月09日 16:22:15 GMT 0100 (CET) 和存储在可变 MYDATE。
${__javaScript(Math.floor(Math.random()*(${maxRandom}+1)),MYRESULT)}
将使用 maxRandom 变量, 返回一个介于0和 maxRandom 之间的随机值, 并将其存储在 MYRESULT。
7、__Random
功能:返回位于给定最小值和最大数值之间的随机数。
用法:
${__Random(0,10)}
将返回介于0和10之间的随机数。
{__Random(0,10, MYVAR)}
将返回一个介于0和10之间的随机数字, 并将其存储在 MYVAR 中。 {MYVAR} 将包含随机数。
8、__RandomDate
功能:返回位于给定开始日期和结束日期值之间的随机日期。
用法:
${__RandomDate(,,20500708,,)}
将返回到现在和20500708 之间的随机日期,例如20390621。
${__RandomDate(dd MM yyyy,,08 07 2050,,)}
将返回一个自定义格式的随机日期, 如 04 03 2034。
9、__RandomString
功能:返回一个随机长度字符串, 使用字符在字符中使用。
用法:
${__RandomString(5)}
将返回一个随机字符串的5个字符。
${__RandomString(10,abcdefg)}
将返回一个随机字符串10字符从 abcdefg 集如 cdbgdbeebd 或 adbfeggfad..。
${__RandomString(6,a12zeczclk, MYVAR)}
将返回从 a12zeczclk 集选取的随机字符串6个字符, 并将结果存储在 MYVAR 中,MYVAR 将包含字符串, 如2z22ak 或 z11kce..。
10、__RandomFromMultipleVars
功能:根据源变量提供的变量值返回一个随机值。
用法:
${__RandomFromMultipleVars(val)}
将返回一个基于变量的内容的随机字符串考虑到它们是否是多值或不。
${__RandomFromMultipleVars(val1|val2)}
将返回一个随机字符串基于变量的内容 val1 和 val2 考虑到它们是否是多值或不。
${__RandomFromMultipleVars(val1|val2, MYVAR)}
将返回一个基于变量的内容 val1 和 val2 考虑到它们是否是多值或不的随机字符串, 并将结果存储在 MYVAR。
相关问题与解答
问题1:如何在JMeter中使用属性函数?
答:在JMeter中,可以使用__P()
函数来获取属性的值。${__P(name,default)}
将返回名为name
的属性的值,如果该属性不存在,则返回default
值,还可以使用__property()
函数来获取属性的值,它实际上是__P()
函数的简写形式,要设置属性,可以使用__setProperty()
函数,${__setProperty(name,value)}
将设置名为name
的属性的值为value
。
问题2:如何控制一次迭代中仅生成一次UUID?
答:在JMeter中,可以使用__UUID()
函数来生成UUID,为了确保在一次迭代中仅生成一次UUID,可以将__UUID()
函数放在需要生成UUID的地方,并确保它只被调用一次,可以在线程组的前置处理器或采样器中添加一个JSR223元素,并在其中编写如下代码:String uuid = org.apache.jmeter.util.JMeterUtils.getUUID();
这样就可以在每次迭代开始时生成一个新的UUID,并在后续的操作中使用这个UUID。
各位小伙伴们,我刚刚为大家分享了有关“Jmeter常见函数使用方法汇总”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!