我在jMeter中有一个测试计划,需要在运行测试之前需要计算一些参数.为了计算这些参数,我直接在测试计划下创建了一个JSR223预处理器,如下所示.

我的问题是PreProcessor似乎在每个请求之前运行,这不是我想要的.我只需要计算一次这些参数并在测试中使用它们.
有没有办法只运行一次JSR223 PreProcessor,还是应该使用其他方法?
提前致谢.
编辑:
正如@ ubik-load-pack建议的那样,我尝试了"setUp Thread Group",但代码中创建的变量在"Thread Group"下不可用.它们既不存在于日志中(日志记录在代码中使用)也不存在于视图结果树中(通过Debug PostProcessor)

我也尝试了"Once Only Controller",它也没有用,与上面相同.

有关更多信息,请参阅我的JSR223预处理器的内容.(不是整个代码,这里会有更多的变量,所以使用日期函数对我来说不是解决方案.)

按照设计,PreProcessor在任何Sampler运行之前运行.
因此,如果您希望每个用户只运行一次,您可以执行以下操作:
如果你想为所有用户做一次,然后用setupThreadGroup 将包含JSR223采样,并与1线配置.它将在常规线程组启动之前运行一次.
更新问题后编辑:
正如我所写,如果你想在线程组中重用变量,你不能使用setupThreadGroup方法,所以坚持使用OnceOnlyController方法来处理你的请求
使用Once Only Controller它不能正常工作,因为你误解了我的答案,我建议使用JSR223 Sampler而不是PreProcessor作为预处理器只有在有一个运行的采样器时才会运行.
| 归档时间: |
|
| 查看次数: |
3798 次 |
| 最近记录: |