【问题标题】:Sharing cookies between thread groups在线程组之间共享 cookie
【发布时间】:2017-10-26 12:35:21
【问题描述】:

我正在开发 JMeter 3.3。我将有 n 个用户,登录应该只进行一次,但其他页面要执行多次。我发现该解决方案使用了 2 个不同的线程组,但由于我的登录名中有 cookie,因此无法正常工作。

我在Sharing cookie values between thread groups in JMeter 中看到了类似的用例,但没有一个解决方案有效。如何做到这一点?

【问题讨论】:

标签: cookies jmeter


【解决方案1】:

SetUp Thread Group 可以作为答案吗? (http://jmeter.apache.org/usermanual/component_reference.html#setUp_Thread_Group) - 我的意思是登录(并将 cookie 提取到变量)将在该设置组中完成,然后在“正常”线程组中进行其他测试 - 这将使用您的 cookie 读取全局可用变量。

【讨论】:

    【解决方案2】:

    如果您每次迭代只需要登录一次用户,请使用Once only controller。 要在线程组之间共享 cookie,您可以使用 Inter-thread communication plugin

    【讨论】:

      【解决方案3】:

      通常如果您只想执行一次登录,您可以使用If Controller 条件为${__groovy(vars.getIteration() == 1,)} 其中:

      • __groovy() - 一个 JMeter 函数,允许执行任意 Groovy 代码
      • vars - 是 JMeterVariables 类实例的简写,提供对 JMeter 变量的读/写访问。 vars.getIteration() 方法返回当前的 Thread Group 迭代,因此您放置在 If 控制器下的采样器将对每个虚拟用户仅执行一次。

      【讨论】:

        【解决方案4】:

        我从https://stackoverflow.com/a/43379806/8305811 获得了解决方案,但是通过将 CookieManager.save.cookies 设置为 true 并在测试计划级别设置 cookie 管理器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-18
          • 1970-01-01
          • 2015-11-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多