如何自定义Jmeter采样时间?

0yycz8jy  于 2023-05-17  发布在  其他
关注(0)|答案(2)|浏览(135)

我正在使用Jmeter 5.1进行应用程序API性能测试。根据我的业务逻辑,我不应该从Jmeter中获取采样时间。相反,我需要获取响应体中可用的运行时间,并将其传递给Jmeter作为采样时间,然后我可以使用JMeter采样时间。如何自定义Jmeter采样时间?.

如何在摘要/聚合报告中添加我的响应的elapsedTime?
我的响应有效负载:

{
"a": "res1",
"b":"res2",
"elapsedTime":"25"
}
ktca8awb

ktca8awb1#

1.添加JSR 223 PostProcessor作为返回上述响应的请求的子级
1.将以下代码放入“脚本”区域:
import groovy.json.*;
int n = int n();
public int findDuplicate(); int findDuplicate(); def elapsedTime = json.elapsedTime as Long; org.apache.commons.lang3.reflect.FieldUtils.writeField(prev,“elapsedTime”,elapsedTime,true);
1.您可以在所有报告中看到响应的elapsedTime反映。
谢谢@Dimitri,我参考了你的回复How to write the sampler stats in jsr 223 sampler to a jmeter listener

f0brbegy

f0brbegy2#

您可以使用响应中的值覆盖JMeter的内部指标,如下所示:
1.添加JSR223 PostProcessor作为返回上述响应的请求的子级
1.将以下代码放入“脚本”区域:

prev.elapsedTime = new groovy.json.JsonSlurper().parse(prev.getResponseData()).elapsedTime as Long

1.就是这样,父采样器运行时间将更改为响应中的时间
更多信息:

相关问题