【Jmeter】Jmeter生成詳細HTML報告

Jmeter生成詳細HTML報告

 

一、 前提

在閱讀此篇文章的時候,默認你是對於jmeter持續集成有了一定了解的。如果沒有接觸過,請移步:http://blog.csdn.net/qi_lin7/article/details/52045713

文中提到的 jmeter.results.shanhe.me.xsl文件(生產本文提到的HTML報告需要的模板文件,等同於jmeter-results-detail-report_21.xsl的作用),該文件下載之後,請放到jmeter安裝目錄的 extras 目錄下,請移步資源頁下載 http://download.csdn.net/detail/qi_lin7/9884043

二、 步驟

先上效果圖吧


1、  修改Jmeter.properties

1>    針對Response的編碼處理,需要修改統一爲UTF-8,避免部分Reponse亂碼問題


2>    由於HTML報告的需要,針對jmeter生成的jtl文件所包含的數據需要做新的配置,以滿足測試需求

修改生成的jtl文件爲xml格式存儲數據


3>    修改jtl報告文件需要存儲的數據種類(例如針對Response_data是否存儲)

具體各種數據不做詳細介紹,例如:

jmeter.save.saveservice.response_code 爲HTTP響應代碼(404、502之類)

jmeter.save.saveservice.response_data爲Reponse詳細信息


2、  修改build文件

1>    修改build主要是修改報告模板,將之前的jmeter-results-detail-report_21.xsl或者jmeter-results-report_21.xsl替換成本文提到的jmeter.results.shanhe.me.xsl(見附件)

2>    修改(爲了方便,直接替換)build.xml文件

<?xml version="1.0" encoding="utf-8"?>

<project name="ant-jmeter-test" default="run" basedir="."> 
  <tstamp> 
    <format property="time" pattern="yyyyMMddhhmm"/> 
  </tstamp>  
  <property name="basedirectory" value="D:\Program Files\apache-jmeter-3.1\extras"/>  
  <!-- 需要改成自己本地的 Jmeter 目錄-->  
  <property name="jmeter.home" value="D:\Program Files\apache-jmeter-3.1"/>  
  <!-- jmeter生成jtl格式的結果報告的路徑-->  
  <property name="jmeter.result.jtl.dir" value="${basedirectory}"/>  
  <!-- jmeter生成html格式的結果報告的路徑-->  
  <property name="jmeter.result.html.dir" value="${basedirectory}"/>  
  <!-- Name of test (without .jmx) -->  
  <property name="test" value="Test"/>  
  <!-- 生成的報告的前綴-->  
  <property name="ReportName" value="TestReport"/>  
  <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl"/>  
  <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html"/>  
  <path id="xslt.classpath"> 
    <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  
    <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/> 
  </path>  
  <target name="run"> 
    <antcall target="test"/>  
    <antcall target="report"/> 
  </target>  
  <target name="test"> 
    <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"/>  
    <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"> 
      <!-- 聲明要運行的腳本。"*.jmx"指包含此目錄下的所有jmeter腳本-->  
      <testplans dir="${basedirectory}" includes="${test}.jmx"/> 
    </jmeter> 
  </target>  
  <target name="report"> 
    <tstamp> 
      <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/>
    </tstamp>  
    <xslt classpathref="xslt.classpath" force="true" in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"> 
      <param name="dateReport" expression="${report.datestamp}"/> 
    </xslt>  
    <copy todir="${jmeter.result.html.dir}"> 
      <fileset dir="${jmeter.home}/extras"> 
        <include name="collapse.png"/>  
        <include name="expand.png"/> 
      </fileset> 
    </copy> 
  </target> 
</project>

到這裏更新設置就完成了,這個改動並不大,主要就是給生成的HTML報告換一個模板,使得生成的HTML報告更加詳細




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章