首页 > 解决方案 > Jmeter:即使在参数化后也收到无效的令牌响应

问题描述

我是性能测试的新手。我有几个线程组,第一个线程组用于登录应用程序并执行搜索。第二个线程组是加载需要身份验证的特定页面。

问题:在第一个线程组中,我使用了 JSON 提取器并提取了身份验证令牌。我也通过 HTTP Header Manager 将相同的令牌传递给其他线程组。但我收到类似 {"detail":"Invalid token."} 的响应

有一个更好的方法吗?是否可以为身份验证令牌设置 Env 并在所有线程组中使用它?

标签: jmeterperformance-testingjmeter-4.0

解决方案


根据JMeter 文档

属性与变量不同。变量是线程本地的;属性对所有线程都是通用的

因此,您不能在线程组之间传递 JMeter 变量,您需要使用第一个线程组中的__setProperty()函数将其转换为 JMeter 属性,并使用第二个线程组中的__P() 函数访问该值。有关更多详细信息,请参阅编织一颗珍珠二:如何在不同线程组中使用变量一文。


更优雅的解决方案是使用线程间通信插件,这样您将确保需要来自第二个线程组的令牌的线程不会启动,除非有有效的令牌可用。


推荐阅读