Jmeter -当有多个线程正在运行时,JSON提取器中的变量有时不起作用

q1qsirdb  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(297)

我现在使用Jmeter来运行API的测试。
情况是我有一个登录Api,它将在响应中返回一个令牌。我使用JSON提取器将令牌保存为变量。然后,我使用${token}作为其他请求的头部。
但是,我发现当我试图运行40-50个线程时,某些线程中的${token}会为空,并导致很高的错误率。
因此,请问有没有办法解决,为甚么呢?
非常感谢。

e0bqpujr

e0bqpujr1#

尝试保存来自Login API的完整响应,很可能是您的服务器过载,无法返回令牌,而是返回一些错误消息。
有以下选项:
1.如果您在命令行非GUI模式下运行JMeter,您可以修改JMeter的结果文件配置,以XML格式存储结果并包含响应数据,将下面几行添加到 user.properties 文件中:

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true

并且当您下次运行测试时,.jtl results file将包含所有请求的响应主体。
1.另一种选择是使用类似于简单数据写入器的监听器,其配置如下:

并且当您运行测试时,responses.xml文件将包含响应数据
可以使用查看结果树监听程序检查.jtl结果文件和responses.xml
更多信息:How to Save Response Data in JMeter

相关问题