如何在JMeter中使用函数?

在JMeter中使用函数主要有以下两种方式:

  1. 直接在测试元素的输入框中使用函数表达式。
    例如:
HTTP请求:
请求URL:http://example.com/user?name=${__StringFunc(RANDOM,5)}
  1. 使用函数助手(Function Helper)元素,在其中构造函数表达式,然后引用表达式的结果。
    例如:
函数助手:
名称:random_string
函数表达式:$ {__StringFunc(RANDOM,10)} 
HTTP请求:
请求URL:http://example.com/user?name=${random_string} 

函数表达式的语法为:${函数名(参数1,参数2,…)}

  • 参数使用逗号分隔
    -部分函数不需要参数

一个更复杂的示例:

函数助手: 
名称:random_num  
函数表达式:${__Random(1,100)}

if函数:  
表达式:$ {random_num} > 50  
为真:${__Random(60,100)}
为假:${__Random(1,50)}  

函数助手:
名称:result  
函数表达式:${ifFunc}  

HTTP请求:
请求URL:http://httpbin.org/get?num=${result}

运行测试计划,random_num函数助手会生成1-100的随机数。
if函数会判断该随机数是否大于50,如果是,生成60-100的随机数,否则生成1-50的随机数。
result函数助手会存储if函数的结果。
HTTP请求会引用result函数助手,使用if函数的结果作为请求参数。
使用函数允许我们在JMeter中使用丰富的函数表达式,提高测试的灵活性。结合函数助手,我们可以构造更加复杂的逻辑。