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 函数中调用它们。我找不到办法做到这一点。
谢谢
不要将 JMeter Functions or Variables 内联到脚本中,在您的情况下,您将不得不寻求基于代码的等效项,即:
__UUID()
-> UUID.randomUUID().toString()
__time()
-> new java.text.SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss").format(new Date())
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 文章。
我配置了一个 HTTP 请求采样器。在请求正文中,我调用了一个我写的 beanshell 函数:
${__BeanShell(createHeader("GET"\,"Customer"\,"${__UUID}"\,"${__time(yyyy-MM-dd'T'hh:mm:ss)}"))}
该函数只是用传入的参数构建一些请求字符串。我想删除 jmeter 函数调用(__UUID 和 __time),并直接从 beanshell 函数中调用它们。我找不到办法做到这一点。 谢谢
不要将 JMeter Functions or Variables 内联到脚本中,在您的情况下,您将不得不寻求基于代码的等效项,即:
__UUID()
->UUID.randomUUID().toString()
__time()
->new java.text.SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss").format(new Date())
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 definegroovy.utilities
property 指向这个文件。有关在 JMeter 测试中使用 Groovy 脚本的更多信息,请参阅 Apache Groovy - Why and How You Should Use It 文章。