Cookies Jmeter-如何在线程之间共享cookie?

Cookies Jmeter-如何在线程之间共享cookie?,cookies,jmeter,Cookies,Jmeter,根据“每个JMeter线程都有自己的“cookie存储区”,这意味着我不能使用一个全局(顶级)HTTP cookie管理器在不同线程之间共享cookie 因此,我知道的唯一解决方案是将cookie存储为属性,并在每个线程的开头提取它们 Q:是否有其他方法可以在不将Cookie存储在文件/属性中的情况下执行相同操作?据我所知,无法在所有线程之间共享Cookie。因此,您尝试过的解决方案(手动设置Cookie,然后提取它们)应该是唯一的解决方案 一位用户问了这个问题,jMeter支持部门已经这样回答

根据“每个JMeter线程都有自己的“cookie存储区”,这意味着我不能使用一个全局(顶级)HTTP cookie管理器在不同线程之间共享cookie

因此,我知道的唯一解决方案是将cookie存储为属性,并在每个线程的开头提取它们


Q:是否有其他方法可以在不将Cookie存储在文件/属性中的情况下执行相同操作?

据我所知,无法在所有线程之间共享Cookie。因此,您尝试过的解决方案(手动设置Cookie,然后提取它们)应该是唯一的解决方案

一位用户问了这个问题,jMeter支持部门已经这样回答:

没有。 JMeter线程用于表示独立用户,所以cookie 变量是线程的局部变量


如果您需要在线程之间共享cookie,而不是在线程组之间共享cookie,请参见文章:

接收到的cookie可以存储为JMeter线程变量(JMeter 2.3.2+版本默认不再这样做)

要将COOKIE另存为变量,请定义属性CookieManager.save.cookies=true。COOKIE的名称在存储之前包含前缀“COOKIE\”(这可避免意外损坏局部变量)

我希望你知道如何和我一起工作

可以通过两种方式设置该属性:

  • 通过-J键作为命令行参数,如下所示:

    jmeter -JCookieManager.save.cookies=true 
    
  • 在user.properties文件中。在这种情况下,它将是永久的。需要重新启动才能从文件中拾取属性


  • 谢谢你的回答,Dmitri。我指的是线程组,而不是线程。因此,不能使用变量,因为它们是在每个线程组的基础上处理的。但是,在成功地将此方法用于某些场景之前,我也尝试过此方法。我问这个问题的真正原因是,我可以在测试计划级别添加Cookie管理器,这会导致一些错误理解。无论如何,再次感谢您的努力。stackoverflow上的#jmeter线程中95%的答案都是您的:)如果是组,您必须查找属性(或修补jmeter)