利用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集成,做持續集成測試,將在下一篇做詳細介紹,盡請期待!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM