如何从仪表板报告中保存图表(JMeter)

时间:2019-10-29 08:21:58

标签: jmeter jmeter-plugins

有一个如何生成JMeter报告的答案:How do I generate a Dashboard Report in jmeter?

还有一个问题,没有接受的答案Solution to save Jmeter Dashboard reports to Confluence

尽管最终我现在需要将信息放入Confluence,但我至少希望能够一次一张地复制图表/图形,但是尽管在Chrome和Firefox中,我确实都有保存图片的上下文菜单(“保存图片” '),但是在两个浏览器中生成的图像看起来都是空的。如何将图表从HTML报告保存到图像?

下面是一个png文件的十六进制转储的开始(它们都为32Kb)。

0000000 211   P   N   G  \r  \n 032  \n  \0  \0  \0  \r   I   H   D   R
0000010  \0  \0  \b 213  \0  \0 003      \b 006  \0  \0  \0   ?   ?   p
0000020  \n  \0  \0      \0   I   D   A   T   x   ^   ?   ?   A 001  \0
0000030  \0  \b 002   1   ?   _   ?       7 033   0   |   ?   s 004  \b
0000040 020       @ 200  \0 001 002 004  \b 020       @ 200  \0 001 002
0000050 004  \b 020       @ 200  \0 001 002 004  \b 020       @ 200  \0
0000060 001 002 031 201   e 222  \n   J 200  \0 001 002 004  \b 020    
0000070   @ 200  \0 001 002 004  \b 020       @ 200  \0 001 002 004  \b
0000080 020       @ 200  \0 001 002 004  \b 020       p   ?   " 236 200
0000090  \0 001 002 004  \b 020       @ 200  \0 001 002 004  \b 020 

2 个答案:

答案 0 :(得分:2)

图表不正常<img>,它们驻留在<canvas>标签中

enter image description here

如果您确实想以这种方式进行操作,则可以找到要保存的canvas元素并在其上调用toDataUrl()函数,例如:

document.getElementById('responseTimesOverTime').getElementsByTagName('canvas')[0].toDataURL()

enter image description here

完成后,您将得到data:image/png;base64,...............文本形式的Data URL,作为输出。

如果将此文本放入浏览器URL区域,则图像将打开:

enter image description here

这将是可以保存的“真实”图像。

更简单的选择是使用BM.Sense之类的服务,该服务可以从.jtl结果文件中生成PDF报告,然后可以通过PDF Macro将其添加到Confluence中。

答案 1 :(得分:1)

您可以使用JMeterPluginsCMD 从报告中生成图像

  

有一个小的命令行实用程序,可以从JTL文件生成图形。它的行为就像所有图上的右键单击上下文菜单一样。该工具可以生成PNG

     

生成PNG:

JMeterPluginsCMD.bat --generate-png test.png --input-jtl results.jtl --plugin-type ResponseTimesOverTime --width 800 --height 600

为了使用该插件生成图形,您很可能还需要安装jpgc - Standard Set插件和graph-s插件(在JMeter的插件管理器中,在可用页面中搜索graph和安装适合所需图表说明的内容)。

用于选择图形类型的参数--plugin-type不一定总是与HTLM报告中的图形名称具有相同的用词,请参见JMeterPluginsCMD 页上的参数列表以及用于自定义图形外观的参数列表。