将 Jmeter JSR223 脚本存储在变量中

问题描述

我有一个包含许多 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

脚本文件

要用作JSR223脚本的文件名,如果使用相对文件路径,那么它将相对于“user.dir”系统属性引用的目录

但是您可以将脚本保存为 JMeter 属性,例如在 user.properties 中

  MyScript=[script]

并在测试计划中定义一个值为 ${__P(MyScript)}

,

关于如何将脚本存储到变量中有很多选项。