gpt4 book ai didi

jmeter - 如何只运行一次 JSR223 预处理器

转载 作者:行者123 更新时间:2023-12-04 05:56:45 26 4
gpt4 key购买 nike

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

Test Plan

我的问题是 PreProcessor 似乎在每个不是我想要的请求之前运行。我只需要计算一次这些参数并在测试中使用它们。

有没有办法只运行一次 JSR223 预处理器,还是应该使用另一种方法?

提前致谢。

编辑:

正如@ubik-load-pack 建议的那样,我尝试了“setUp Thread Group”,如下所示,但在代码中创建的变量在“Thread Group”下不可用。它们也不存在于日志中(在代码中使用日志记录)也不存在于查看结果树中(通过调试后处理器)

enter image description here

我也试过“Once Only Controller”,它也不起作用,同上。

enter image description here

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

enter image description here

最佳答案

通过设计预处理器在任何采样器运行之前运行。

因此,如果您只想为每个用户运行一次,您可以执行以下操作:

  • 使用 Once Only Controller并将包含您的代码的 JSR223 采样器放入其中。

  • 如果你想要 为所有用户做一次 ,然后使用 setupThreadGroup
    它将包含您的 JSR223 采样器并使用 1 个线程对其进行配置。它将在常规线程组启动之前运行一次。

    更新问题后编辑:
  • 正如我所写的,如果您想在线程组中重用变量,则不能使用 setupThreadGroup 方法,因此请坚持使用 OnceOnlyController 方法来处理您的请求
  • 使用只有一次的 Controller 它不起作用,因为你误读了我的答案,我建议使用 JSR223 采样器 not PreProcessor 作为预处理器只有在有采样器运行时才会运行。
  • 关于jmeter - 如何只运行一次 JSR223 预处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31285427/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com