JMeter - 获取 header 值并写入日志文件

JMeter - Get header value and write in a log file

我正在进行 API REST 性能测试。对于每个 API 调用,我必须在 header 秒内发送唯一的交易和请求 ID。

我在 header 秒内使用 ${__UUID()},它工作正常。

为了跟踪服务器日志中的事务 ID,我想在名称为 API 的日志文件中打印 function( ${__UUID()}) 生成的值。为此,我尝试了很多方法,但这些方法非常复杂和混乱。在不添加预处理器的情况下,我们可以从请求 header 中记录事务 id 值的值吗?

如果您对此有所了解,我将不胜感激。

我不明白您为什么不想 top 使用预处理器。我认为最好的解决方案是在脚本中生成 uuid 并在每次请求执行之前存储值:

import java.util.UUID;
String uuid = UUID.randomUUID().toString();
log.info("Next uuid "+uuid);
vars.put("uuid",uuid);

在您的请求中使用 ${uuid} header。

如果您想在 jmeter.log file - just wrap it into __log() function 中打印生成的 GUID,例如:

${__log(${__UUID()})}

这将生成 GUID 并将相应的行打印到 jmeter.log 文件中:

更多信息:Apache JMeter Functions - An Introduction