我有一个包含多个子线程组的测试计划;
在每个线程组中,我有一个父事务控制器和一个恒定吞吐量计时器,试图将线程组的总生成负载保持在每秒2个事务;
在事务控制器下面,我有2个子吞吐量控制器:1个试图产生8.1%的负载,1个试图产生剩余的91.9%的负载;
在每个吞吐量控制器下面,我有一个子随机控制器,它应该在下面的2个采样器之间进行随机选择;
在每个随机控制器下面,我有2个采样器,它们实际上正在生成请求。
当我在GUI模式下运行此程序并检查Aggregate Report Listener时,我可以看到在Transaction Controller下运行的所有采样器的Aggregated Throughput,这正是我想要的。
我的问题在于:当我在CLI模式下运行并从.jtl文件生成HTML Jmeter 板报告时,它会在实际采样器旁边显示事务控制器,但不会显示每个事务控制器的所有子采样器的聚合吞吐量(它显示为0.00)。
截图:
1.这是一个错误吗?
1.如何解决此限制并实现在 Jmeter 板报告中显示每个事务控制器的聚合吞吐量的目标?
提前感谢!
2条答案
按热度按时间ycl3bljg1#
我无法使用JMeter 5.5和与您的设置非常相似的配置来重现它:
所以我相信这不是一个bug,最有可能的是你的JMeter结果文件配置有问题,尝试在一个干净的JMeter安装上使用调试采样器运行一个简化的测试版本,如果你会得到和我一样的结果,交叉检查你所做的任何定制,找出是哪一个导致了你不太满意的行为。
az31mfrm2#
从@迪米特里的回答开始,我设法解决了我的问题。谢谢你给我指出了正确的方向,迪米特里!
此问题是由命令中的错误参数导致的,该命令用于在CLI模式下运行脚本。似乎该特定参数没有创建包含所有必要内容的.jtl文件。如果无法生成包含所有正确信息的.jtl文件以显示干净的 Jmeter 板报告,我本以为此命令根本不起作用,但似乎并非如此。不确定这是一个功能还是一个错误。:D
从我的性能测试解决方案的本地根路径中,我使用一个单独的
.properties
文件将一些库加载到jmeter的类路径中(并将一些全局变量存储在JMeter之外),并且使用-p
而不是-q
来加载该文件,这意味着(quote from original answer)“-q定义了一个要读取的附加属性文件,而-p覆盖了 www.example.com ,使用-p时,我缺少正确生成 Jmeter 板所需的属性。”问题命令:(因为我仍然需要JMeter安装的默认www.example.com文件中的一些属性jmeter.properties(我认为是:D))
解决方案是使用
-q
而不是-p
,正如用户bcromarty在他对另一个issue的响应中所解释的那样,我确实遇到过一次,我试图在一个命令中运行脚本和生成报告,如Dmitri所示(参见解决方案2)。解决方案1:(2个命令:运行脚本,生成jtl文件;然后生成 Jmeter 板报告)
完成此操作后,它将像以前一样生成.jtl文件,但现在.jtl文件似乎具有正确填充值所需的一切。
jmeter -g .\路径\到\jtl文件.jtl -o .\路径\到\html Jmeter 板报表
解决方案2:(1命令:运行脚本,生成jtl文件,并在最后生成HTML报告)