JMETER:如何计算两个HTTP采样器之间的差异';s响应(已用)时间值 我已经通过JMETER发送了两个HTTP请求。 测量单个运行时间或响应时间值。 计算两个值之间的差值。
e、 gJMETER:如何计算两个HTTP采样器之间的差异';s响应(已用)时间值 我已经通过JMETER发送了两个HTTP请求。 测量单个运行时间或响应时间值。 计算两个值之间的差值。,jmeter,Jmeter,e、 g HTTP采样器-1:测量时间:1000毫秒 HTTP采样器-2:测量时间:800毫秒 计算差值:1000-800=200 ms 这两个采样器必须执行多次 我正在考虑的解决方案是使用Sampler Data Writer listener,以便在csv文件中写入经过的时间值。 最后使用VBA脚本计算差异 您能告诉我这种情况是否有其他解决方案吗?您可以用它来计算动态差异 使用以下代码将Beanshell后处理器元素添加为HTTP Sampler 1的子元素: long request1
- HTTP采样器-1:测量时间:1000毫秒
- HTTP采样器-2:测量时间:800毫秒
- 计算差值:1000-800=200 ms
long request1 = prev.getTime(); // get HTTP Sampler 1 execution time
vars.put("sampler1", String.valueOf(request1)); // store execution time to "sampler1" variable
并对HTTP采样器2执行相同的操作。在这种情况下,代码应该如下所示:
long request2 = prev.getTime(); // get HTTP Sampler 2 execution time
long request1 = Long.parseLong(vars.get("sampler1")); // get HTTP Sampler 1 execution time from variable
long delta = (request1 - request2); // calculate difference
log.info("Time difference is: " + delta + " ms"); // print difference to jmeter.log file
在jmeter.log文件中,您应该看到如下内容
2014/07/16 14:00:02 INFO - jmeter.util.BeanShellTestElement: Time difference is: 200 ms
类似地,您可以将其存储到文件中
FileOutputStream out = new FileOutputStream("delta.csv", true);
out.write((String.valueOf(delta)).getBytes("UTF-8"));
out.write(System.getProperty("line.separator").getBytes("UTF-8"));
out.flush();
out.close();
或者计算所有请求的平均差异
有关ApacheJMeter中Beanshell脚本的全面信息,请参阅指南