jmeter 一个采样器中的预处理器也在下一个采样器中执行

vhipe2zx  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(97)

在我的测试计划中,我有一个线程组。在这个线程组中,我有许多http采样器。我在foreach采样器中放置了一个http采样器。在这个http采样器中,我有一个JSR223预处理器,它向负载添加了一个额外的参数。
但是预处理器甚至在foreach控制器之外的下一个采样器中执行。因此,一个额外的值被附加到有效负载,请求由于无效的有效负载而失败。
我的疑问是,1.为什么一个采样器中的JSR223预处理器在下一个采样器中执行?2.如果是这样,我如何限制该预处理器在其父采样器之外执行?
很抱歉没有分享更多关于代码的细节。由于公司政策,我不能公开我的测试计划。提前感谢。

xdnvmnnf

xdnvmnnf1#

预处理器遵循JMeter作用域规则,因此如果您希望它在单个采样器之前执行,则需要将它作为该特定采样器的子项
可以使用以下代码对其进行双重检查:

log.info('Executing before: ' + sampler.getName())

如您所见,JSR223预处理器仅在HTTP采样器1之前执行
在上面的代码中:

更多信息:Top 8 JMeter Java Classes You Should Be Using with Groovy

相关问题