• 利用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 est esources文件夹中,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集成,做持续集成测试,将在下一篇做详细介绍,尽请期待!

  • 相关阅读:
    android 7.0带来的
    转 android 侧滑实现
    (转)30道面试题
    【转】关于手机号注册的一些思考
    一个美国人对"智能制造"的思考!
    【转】社区O2O的增量与存量,机会在哪?
    【转】30岁之前打好基础,无惧职场“35岁现象”! | 人力资源心理学
    Linux 复制、移动覆盖文件不提示
    使用DDMS测试安卓手机APP的性能(android)
    【转】测试思考——测试人员需要具备哪些素质?
  • 原文地址:https://www.cnblogs.com/a00ium/p/10404338.html
Copyright © 2020-2023  润新知