jmeter beanshell调用jmeter函数

jmeter beanshell call jmeter function

我配置了一个 HTTP 请求采样器。在请求正文中,我调用了一个我写的 beanshell 函数:

${__BeanShell(createHeader("GET"\,"Customer"\,"${__UUID}"\,"${__time(yyyy-MM-dd'T'hh:mm:ss)}"))}

该函数只是用传入的参数构建一些请求字符串。我想删除 jmeter 函数调用(__UUID 和 __time),并直接从 beanshell 函数中调用它们。我找不到办法做到这一点。 谢谢

  1. 不要将 JMeter Functions or Variables 内联到脚本中,在您的情况下,您将不得不寻求基于代码的等效项,即:

    • __UUID() -> UUID.randomUUID().toString()
    • __time() -> new java.text.SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss").format(new Date())
  2. Since JMeter 3.1 it's recommended to use JSR223 Test Elements and Groovy language for scripting, in your case it would be __groovy() function. If you want to re-use createHeader method - you can put it into a separate .groovy file and define groovy.utilities property 指向这个文件。

    有关在 JMeter 测试中使用 Groovy 脚本的更多信息,请参阅 Apache Groovy - Why and How You Should Use It 文章。