久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Jmeter默認(rèn)報(bào)告優(yōu)化

 小豬窩969 2016-03-10

一、本文目的:


  之前寫(xiě)了兩篇文章搭建持續(xù)集成接口測(cè)試平臺(tái)(Jenkins+Ant+Jmeter)和ANT批量執(zhí)行Jmeter腳本,,功能實(shí)現(xiàn)上都沒(méi)有什么問(wèn)題,,但是最后生成的報(bào)告有一點(diǎn)小問(wèn)題,雖然不影響使用,,但總是感覺(jué)不夠完美,,具體問(wèn)題如下:


  1、Date report這里的時(shí)間沒(méi)有正確顯示出來(lái)


  2,、Summary里的字段Min Time和Max Time顯示的是NaN,,沒(méi)有顯示正確的時(shí)間。



本文主要解決上述兩個(gè)問(wèn)題,,具體報(bào)告如何生成可參考上面提到的兩篇文章,。



二、Jmeter+Ant報(bào)告生成原理:


  在解決問(wèn)題之前,,讓我們先弄清楚Jmeter+Ant是生成報(bào)告的原理,,知道原理后我們就可以很從容的解決問(wèn)題了。另外,,如果后續(xù)我們想定制報(bào)告也就很容易了,。


  1,、在Jmeter的extras目錄下,官方已經(jīng)為我們提供了一個(gè)現(xiàn)成的實(shí)例,,我們只需要在該目錄下執(zhí)行ant命令就可以生成一個(gè)數(shù)據(jù)文件Test.jtl和一個(gè)報(bào)告Test.html(PS:如果沒(méi)有安裝ant需要先去安裝,,不會(huì)用ant的自行百度)。


  2,、知道了上一步后,,接下來(lái)我們研究的重點(diǎn)就是extras目錄下的build.xml文件了,具體研究細(xì)節(jié)就不在此細(xì)說(shuō)了,,因?yàn)檫@就部分內(nèi)容屬于ant的范圍,,有需要的可以自行補(bǔ)充下ant的知識(shí)。



三,、解決問(wèn)題:


1,、找到extras目錄下build.xml文件內(nèi)容的如下部分:它的作用就是把生成的.jtl數(shù)據(jù)文件轉(zhuǎn)換為.html格式的報(bào)告


具體屬性的含義:



  • in:生成的.jtl文件的路徑


  • out:生成的.html文件的路徑


  • style:從.jtl轉(zhuǎn)換成.html所使用的樣式,這些文件也在extras目錄下,,這個(gè)是最重要的部分,,如果我們想定制報(bào)告可以自行定義這個(gè)文件或者從網(wǎng)上找一些合適的文件。


  • param:參數(shù),,這幾個(gè)參數(shù)可以在style中使用,,下面會(huì)講到。


  • path:添加jar包的路徑,,在下面的target中有引用到(下面第9行),。



復(fù)制代碼

 1     <path id="xslt.classpath">//jar的路徑 2         <fileset dir="${lib.dir}" includes="xalan*.jar"/> 3         <fileset dir="${lib.dir}" includes="serializer*.jar"/> 4     </path> 5    //把生成的.jtl數(shù)據(jù)文件轉(zhuǎn)換成.html格式的報(bào)告 6     <target name="xslt-report" depends="_message_xalan"> 7         <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm"/></tstamp> 8         <xslt 9             classpathref="xslt.classpath"10             force="true"11             in="${testpath}/${test}.jtl"12             out="${testpath}/${test}.html"13             style="${basedir}/jmeter-results-detail-report${style_version}.xsl">14             <param name="showData" expression="${show-data}"/>15             <param name="titleReport" expression="${report.title}"/>16             <param name="dateReport" expression="${report.datestamp}"/>17         </xslt>18     </target>

復(fù)制代碼

2、通過(guò)上面的分析,,style 文件是整成報(bào)告轉(zhuǎn)換的關(guān)鍵,,那我們就打開(kāi)jmeter-results-detail-report_21.xsl這個(gè)文件看看,找到如下幾行,,這里也定義了三個(gè)參數(shù)跟build.xml文件中一樣,,由此可猜測(cè),我們只要在build.xml文件中定義dateReport這個(gè)參數(shù)和值,,在style中就可以按如下方式使用,,經(jīng)過(guò)測(cè)試證明猜測(cè)是正確的,那么第一個(gè)問(wèn)題就解決了:



1 <xsl:param    name="showData" select="'n'"/>2 <xsl:param    name="titleReport" select="'Load Test Results'"/>3 <xsl:param    name="dateReport" select="'date not defined'"/>


3,、對(duì)于第二個(gè)問(wèn)題,,其實(shí)把第1步中的代碼復(fù)制到我們自己的build.xml文件中后,可以一并解決這兩個(gè)問(wèn)題,。解決第二個(gè)總是的關(guān)鍵代碼是第9行和第10行:


  classpathref="xslt.classpath"


  force="true"


而第9行又引用了第1~4行


4,、到此,兩個(gè)問(wèn)題都解決了,最終修改后的build.xml文件如下,,標(biāo)黃是解決總是添加的代碼:


復(fù)制代碼

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
    <!-- 需要改成自己本地的 Jmeter 目錄-->  
    <property name="jmeter.home" value="/Users/Tools/Jmeter" />
    <property name="report.title" value="接口測(cè)試"/>
    <!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑--> 
    <property name="jmeter.result.jtl.dir" value="/Users/Desktop/jmx/report" />
    <!-- jmeter生成html格式的結(jié)果報(bào)告的路徑-->
    <property name="jmeter.result.html.dir" value="/Users/Desktop/jmx/report" />
    <!-- 生成的報(bào)告的前綴-->  
    <property name="ReportName" value="TestReport" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />

    <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}">
            <!-- 聲明要運(yùn)行的腳本"*.jmx"指包含此目錄下的所有jmeter腳本-->
            <testplans dir="/Users/Desktop/jmx" includes="*.jmx" />
            
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>        
    <path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
    </path><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-detail-report_21.xsl">              <param name="dateReport" expression="${report.datestamp}"/>   </xslt>

                <!-- 因?yàn)樯厦嫔蓤?bào)告的時(shí)候,,不會(huì)將相關(guān)的圖片也一起拷貝至目標(biāo)目錄,所以,,需要手動(dòng)拷貝 --> 
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>

</project>

復(fù)制代碼

5,、修改后的報(bào)告:


 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多