• 利用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报告

    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", "")

          

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

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

  • 相关阅读:
    bootstrap学习笔记之基础导航条 http://www.imooc.com/code/3111
    bootstrap学习笔记之导航条基础
    Bootstrap学习笔记之文本对齐风格
    leetcode------Find Peak Element
    leetcode------Search a 2D Matrix
    leetcode------Set Matrix Zeroes
    【python】enumerate函数
    leetcode------Gray Code
    leetcode------Letter Combinations of a Phone Number
    leetcode------Best Time to Buy and Sell Stock II
  • 原文地址:https://www.cnblogs.com/greattao/p/8417661.html
Copyright © 2020-2023  润新知