利用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

    参照此文: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报告
    复制代码
    <plugin>
      <groupId>com.lazerycode.jmeter</groupId>
      <artifactId>jmeter-maven-plugin</artifactId>
      <version>2.1.0</version>
       <ignoreResultFailures>true</ignoreResultFailures>
       <testResultsTimestamp>false</testResultsTimestamp>
       <testFilesIncluded>
         <jMeterTestFile>testdemo.jmx</jMeterTestFile>
       </testFilesIncluded>
      <executions>
         <execution>
             <id>jmeter-tests</id>
             <phase>verify</phase>
             <goals>
             <goal>jmeter</goal>
             </goals>
          </execution>
       </executions>
    </plugin>
    <plugin>
          <groupId>org.codehaus.mojo</groupId>
               <artifactId>exec-maven-plugin</artifactId>
               <version>1.6.0</version>
               <executions>
                  <execution>
                     <phase>verify</phase>
                        <goals>
                           <goal>exec</goal>
                        </goals>
                      </execution>
                  </executions>
                <configuration>
                <executable>xsltproc</executable>
                <arguments>
                    <argument>-o</argument>
                    <argument>target/jmeter/results/testdemo.html</argument>
    <argument>src/test/resources/jmeter-results-detail-report_21.xsl</argument>
    <argument>target/jmeter/results/testdemo.jtl</argument>
    </arguments> </configuration> </plugin>
    复制代码

    方案二:如果需要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

  5.  查看html报告

   

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

posted @ 2019-02-20 01:09  DaisyLinux  阅读(2552)  评论(0编辑  收藏  举报