Jmeter输出完美报告
做技術(shù)的就愛折騰, 看到哪里不夠完美,就想把它改改, 使其順眼.
同樣Jmeter輸出的報(bào)告實(shí)在差強(qiáng)人意, 截圖發(fā)給領(lǐng)導(dǎo)看不夠美觀, 缺少統(tǒng)計(jì)匯總, 有什么方法給對(duì)方一個(gè)地址就可以瀏覽報(bào)告? 答案是肯定的.
我是mac機(jī), windows一樣可以實(shí)現(xiàn), 環(huán)境變量設(shè)置略有不同, 其他大同小異.
Ant安裝配置
?1、從http://ant.apache.org 上下載tar.gz版ant
2、使用cp復(fù)制到/usr下
3、tar -vxzf apache-ant-1.9.0-bin.tar.gz ?解壓
4、vi /etc/profile ? ?// 配置環(huán)境變量(windows的配置更簡(jiǎn)單path里直接添加)
? ? #set Ant
? ? export ANT_HOME=/usr/apache-ant-1.9.0
? ? export PATH=$PATH:$ANT_HOME/bin
window中設(shè)置ant環(huán)境變量:
新建:ANT_HOME:E:\Program Files\apache-ant-1.9.1? //路徑和版本自己修改
path 追加:%ANT_HOME%\bin
5、source /etc/proifle ? //配置立即生效
6、ant -version ? //測(cè)試ant是否生效
很早之前就配置過ant, 就懶得再去下個(gè)新版本, 這里是1.9.0
ant是一個(gè)非常成熟的工具, 存在時(shí)間久遠(yuǎn), 后起之秀有Maven 還有g(shù)radle, 實(shí)用性可讀性更加.
?
Jmeter建議使用3.3 以上版本, 需要配合 jdk1.8使用, 3.1是jdk 1.7
我的jmeter目錄如下
/Users/louiezhou/Downloads/download/apache-jmeter-3.1/bin
?
在bin下創(chuàng)建一個(gè)目錄
將jmx文件(就是你的jmeter腳本文件)放在該目錄下
同時(shí)創(chuàng)建build.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
??? <tstamp>
??????? <format property="time" pattern="yyyyMMddhhmm"/>
??? </tstamp>
<!-- 需要改成自己本地的 Jmeter 目錄 -->
??? <property name="jmeter.home" value="[修改路徑]/apache-jmeter-3.1/"/>
<!-- 生成html和jtl的路徑地址,我這里直接放在tomcat發(fā)布目錄下 -->
??? <property name="jmeter.result.html.dir" value="[html報(bào)告輸出路徑]"/>
??? <property name="jmeter.result.jtl.dir" value="[jtl輸出路徑]"/>
?
?<!-- 生成的報(bào)告的前綴-->
??? <property name="ReportName" value="TestReport" />
??? <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl"/>
??? <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.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="[修改自己jmeter所在目錄]apache-jmeter-3.1/bin/demo" 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>
?
1. 將JMeter所在目錄下extras子目錄里的ant-JMeter-1.1.1.jar復(fù)制到Ant所在目錄lib子目錄之下,這樣Ant運(yùn)行時(shí)才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"這個(gè)類,從而成功觸發(fā)JMeter腳本.
2. 其次修改Jmeter的bin目錄下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml??
進(jìn)入jmeter的bin自建目錄下:
/Users/louiezhou/Downloads/download/apache-jmeter-3.1/bin/demo
?
?
遇到的坑:
XML 文檔結(jié)構(gòu)必須從頭至尾包含在同一個(gè)實(shí)體內(nèi)
解決方法:xml文件中標(biāo)簽不完整,沒有結(jié)束標(biāo)簽
報(bào)如下錯(cuò)誤
taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found
?
?
生成報(bào)告完美:
這里面還有個(gè)問題 ,就是執(zhí)行多次report會(huì)被覆蓋掉, 思路是使用時(shí)間戳的方式區(qū)分不同report, 擴(kuò)展了還可以和Jenkins集成. 趕快動(dòng)手來實(shí)踐吧, 看百遍不如自己做一遍.
今日推薦閱讀文章精選推薦
JMeter數(shù)據(jù)庫操作
Jmeter接口測(cè)試-正則表達(dá)式
JMeter中文返回亂碼
Jmeter接口測(cè)試-參數(shù)化
JMeter接口測(cè)試-基礎(chǔ)
測(cè)試-感想
?
咨詢工作加微信
掃描二維碼
?
歡迎自薦和推薦, 需要的微信推送簡(jiǎn)歷!
請(qǐng)猛戳下面二維碼了解更多
轉(zhuǎn)載于:https://www.cnblogs.com/louiezhou/p/10385373.html
總結(jié)
以上是生活随笔為你收集整理的Jmeter输出完美报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 描述linux目录结构以及目录结构命名规
- 下一篇: 【线段树 泰勒展开】Codechef