利用xsltproc转换jtl报告到html报告

  使用Jmeter测试完后并不能直接生成html报告,而是jtl报告。这里我们可以用xsltproc来解决。

  xsltproc是由DanielVeillard用来C语言编写的是一个快速XSLT引擎,
  它可以将通过XSL层叠样式表把XML转换为相应格式的文件,
  比如:HTML,XHTML,PDF...

  XSL指扩展样式表语言(EXtensible Stylesheet Language),
  把XML转换为HTML用的就是xls编写的样式表,
  所以如果要扩展这个报告,首先要对xls熟悉,
  才能更改和扩展样式表。
  可以在http://www.w3school.com.cn/xsl/index.asp这里进行此语言的学习。

IDEA+Jmeter测试环境搭建

  1. 修改jmeter.properties配置文件
    jmeter.save.saveservice.output_format=xml
  2. 下载xsltproc文件并解压,可执行文件路径加到环境变量中
    下载路径:链接:https:pan.baidu.com/s/1qZpoLwo 密码:ky88

    利用xsltproc转换jtl报告到html报告_第1张图片参照此文:http:www.crifan.com/files/doc/docbook/docbook_dev_note/release/webhelp/download_xsltproc_win.html

  3. 复制报告模板文件
    将Jmeter安装目录\extras下的jmeter-results-detail-report_21.xsl和
    jmeter-results-report_21.xsl模板文件复制到
    src\test\resources文件夹中,jmeter文件夹下面放.jmx文件,
    如果报告中缺失展开图标,一并复制collapse.png和expand.png到resources文件夹中

  4. 修改POM文件,有二个方案,方案一:在pom.xml里加入xsltproc执行插件,可以直接生成html报告
    
      com.lazerycode.jmeter
      jmeter-maven-plugin
      2.1.0
       true
       false
       
         testdemo.jmx
       
      
         
             jmeter-tests
             verify
             
             jmeter
             
          
       
    
    
          org.codehaus.mojo
               exec-maven-plugin
               1.6.0
               
                  
                     verify
                        
                           exec
                        
                      
                  
                
                xsltproc
                
                    -o
                    target/jmeter/results/testdemo.html
    src/test/resources/jmeter-results-detail-report_21.xsl
    target/jmeter/results/testdemo.jtl

    方案二:如果需要Jenkins持续集成,且服务器是Linux,xsltproc找不到路径的话,去掉exec-maven-plugin,在Jenkins里用shell命令来替换,
    详见《Jenkins+Maven+Jmeter接口自动化持续集成测试》)。

    那么IDEA里面去掉exec-maven-plugin后,如何转化jtl到html报告呢,可以在IDEA命令行输入以下命令:

    xsltproc -o target/jmeter/results/testdemo.html src/test/resources/jmeter-results-detail-report_21.xsl target/jmeter/results/testdemo.jtl

    利用xsltproc转换jtl报告到html报告_第2张图片

  5.  查看html报告

    利用xsltproc转换jtl报告到html报告_第3张图片

  6. 展开报告可能没有显示样式和图标,Jenkins安全策略CSP设置禁止了,只需要到Jenkins系统管理à脚本命令行,执行以下Groovy命令,然后点击运行。配置完成后,重新构建原有项目,HTML页面即可正常显示。

    System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

    但是重启后就失效了。这里就需要2个插件:

      (1)Startup Trigger 插件:可实现在Jenkins节点(master/slave)启动时触发构建

      (2)Groovy plugin: 可实现直接执行Groovy代码

   解决步骤如下:

      1、Jenkins中新建一个Job,该Job专用Jenkins启动时执行的配置命令。

      2、在“构建触发器”模块,选择“Build when job nodes start”选项。

                      

      3、在“构建”模块,选择“Execute system Groovy ”,执行如下Groovy命令:

          System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

      利用xsltproc转换jtl报告到html报告_第4张图片

      立即构建此Job,返回原项目重新构建,再次访问HTML页面,问题解决。

 

      接下去就是跟Jenkins集成,做持续集成测试,将在下一篇做详细介绍,尽请期待!

转载于:https://www.cnblogs.com/greattao/p/8417661.html

你可能感兴趣的:(利用xsltproc转换jtl报告到html报告)