Jmeter 性能测试-如何将测试期间生成的一次身份验证令牌传递给下一个线程

Jmeter 性能测试-如何将测试期间生成的一次身份验证令牌传递给下一个线程,jmeter,Jmeter,我用的是jmeter。我尝试了两个选项将令牌(在性能测试期间只需运行一次)从一个请求传递到另一个请求。 选项1-我创建了两个线程组,并使用了交互线程后处理器和线程进程,如屏幕截图所示。第二个并发线程组只运行一次,最初需要以1 rpm的速度运行一段时间(稍后将对此进行修改) 选项2-我有一个线程组,它有一个令牌请求作为控制器中的once和post API请求,但令牌请求不只是在测试期间多次运行后才运行。请参阅所附的屏幕截图 我没有尝试过使用预处理器并将令牌设置为属性并获取属性值的选项。这是一个可行

我用的是jmeter。我尝试了两个选项将令牌(在性能测试期间只需运行一次)从一个请求传递到另一个请求。 选项1-我创建了两个线程组,并使用了交互线程后处理器和线程进程,如屏幕截图所示。第二个并发线程组只运行一次,最初需要以1 rpm的速度运行一段时间(稍后将对此进行修改)

选项2-我有一个线程组,它有一个令牌请求作为控制器中的once和post API请求,但令牌请求不只是在测试期间多次运行后才运行。请参阅所附的屏幕截图

我没有尝试过使用预处理器并将令牌设置为属性并获取属性值的选项。这是一个可行的选项,还是我遗漏了选项1中的任何内容?为什么选项1中的第二个线程没有运行多次

选项1测试计划: 选项1的结果树-其中post请求运行一次- 控制器选项2中的一次:

  • 选项1:您的Post MPRequest很可能只运行一次,因为它“等待”下一个令牌,我认为您应该只读取该令牌一次,而不是在每次请求之前尝试这样做
  • 选项2:您看到多个
    令牌请求
    ,因为您使用多个线程(虚拟用户),每个线程/虚拟用户只执行一次控制器的子线程(在第一个线程组迭代期间)
  • 如果希望只获取一次令牌并在所有线程(虚拟用户)之间共享它,则需要:

  • 以1个用户和1个循环的方式进行
  • 获得令牌后,使用将持有令牌的JMeter变量转换为JMeter属性
  • 在主线程组中,用于读取令牌值

  • 谢谢,成功了。