将 Jmeter JSR223 脚本存储在变量中
Store a Jmeter JSR223 script in a variable
我有一个包含许多 HTTP 请求的 Jmeter 脚本,每个请求都有一个 JSR223 预处理器。大多数预处理器都有通用代码,我想从一个地方引用该代码,不一定是函数,而是在所有预处理器中重复的一大段代码。我已经尝试了一些东西,我在 Jmeter 文档中遇到了将脚本存储在 JSR223 采样器中然后存储在变量中然后使用 ${__groovy(${RANDOM_NAME})}.
https://jmeter.apache.org/usermanual/best-practices.html#developing_scripts
https://jmeter.apache.org/usermanual/functions.html#how
我找不到在真实脚本中运行的任何示例。我了解其中的大部分内容,但我不确定“它如何作为变量存储在测试计划中”。我在线程组中的 JSR223 示例中有代码,该线程组先于所有其他线程组调用,但我不确定如何将其存储为变量。有人可以给我看一个工作示例吗?
我认为更合适的解决方案是在 JSR223 采样器中使用相同的 Script File
Script File
Name of a file to be used as a JSR223 script, if a relative file path is used, then it will be relative to directory referenced by "user.dir" System property
但您可以将脚本保存为 JMeter 属性,例如 user.properties
MyScript=[script]
并在测试计划中定义一个值为${__P(MyScript)}
的变量
关于如何将脚本存储到变量中有很多选项。
最简单直接的就是使用User Defined Variables
如果您打算使用 __groovy() function there is a special property:groovy.utilities,您可以在其中指定包含“通用”代码
最后你可以 compile your "common" code into a .jar file 任何脚本元素都可以使用它,而且它会运行得更快。
我有一个包含许多 HTTP 请求的 Jmeter 脚本,每个请求都有一个 JSR223 预处理器。大多数预处理器都有通用代码,我想从一个地方引用该代码,不一定是函数,而是在所有预处理器中重复的一大段代码。我已经尝试了一些东西,我在 Jmeter 文档中遇到了将脚本存储在 JSR223 采样器中然后存储在变量中然后使用 ${__groovy(${RANDOM_NAME})}.
https://jmeter.apache.org/usermanual/best-practices.html#developing_scripts
https://jmeter.apache.org/usermanual/functions.html#how
我找不到在真实脚本中运行的任何示例。我了解其中的大部分内容,但我不确定“它如何作为变量存储在测试计划中”。我在线程组中的 JSR223 示例中有代码,该线程组先于所有其他线程组调用,但我不确定如何将其存储为变量。有人可以给我看一个工作示例吗?
我认为更合适的解决方案是在 JSR223 采样器中使用相同的 Script File
Script File
Name of a file to be used as a JSR223 script, if a relative file path is used, then it will be relative to directory referenced by "user.dir" System property
但您可以将脚本保存为 JMeter 属性,例如 user.properties
MyScript=[script]
并在测试计划中定义一个值为${__P(MyScript)}
关于如何将脚本存储到变量中有很多选项。
最简单直接的就是使用User Defined Variables
如果您打算使用 __groovy() function there is a special property:groovy.utilities,您可以在其中指定包含“通用”代码
最后你可以 compile your "common" code into a .jar file 任何脚本元素都可以使用它,而且它会运行得更快。