jmeter脚本结合ant执行测试用例并生成测试报告
前言:本篇主要講ant執行測試用例并生成測試報告,至于jmeter腳本本篇文章不多說,不懂的小伙伴可查看我的上篇文章:jmeter環境配置、使用以及參數化之CSV Data Set Config
?
1.ant下載及環境變量,這里不多說,不懂的小伙伴可自行百度搜索ant下載以及環境變量
2.將jmeter所在的目錄下extras子目錄里的ant-jmeter-1.1.1.jar復制到ant所在的lib目錄下。如下圖
這樣Ant運行時才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"這個類,從而成功觸發JMeter腳本
3.jmeter路徑下新建文件夾,創建一個build.xml,配置build.xml腳本(已配置好的build.xml腳本,讀者可根據下方提示修改為自己的路徑,即可)
<?xml version="1.0" encoding="utf-8"?>
<project name="xpms" default="all" basedir=".">
?? ?
??? <tstamp>
??????? <format property="time" pattern="yyyyMMddhhmm" />
??? </tstamp>
??? <!-- 需要改成自己本地的 Jmeter 目錄-->
??? <property name="jmeter.home" value="C:\Users\wuweihao\Downloads\apache-jmeter-3.2" />
??? <!-- jmeter生成jtl格式的結果報告的路徑-->
??? <property name="jmeter.result.jtl.dir" value="C:\Users\wuweihao\Downloads\apache-jmeter-3.2\demo\result_log\jtl" />
??? <!-- jmeter生成html格式的結果報告的路徑-->
??? <property name="jmeter.result.html.dir" value="C:\Users\wuweihao\Downloads\apache-jmeter-3.2\demo\result_log\html" />
??? <!-- 生成的報告的前綴 -->
??? <property name="ReportName" value="測試結果" />
??? <!-- 生成各種文件-->
?? ?<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}_${time}.jtl" />
?? ?<!--<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" />
?? ?<!-- <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />-->
?
??? <!-- 電腦地址 -->
<!--??? <property name="ComputerName" value="xiaoqiang" />-->
?? ?<!-- 解決不顯示 Min/Max 統計時間的問題。同時把下面的兩個jar文件copy到ant的lib包中-->
?? ?<path id="xslt.classpath">
?? ?<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.1.jar"/>
?? ?<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.1.jar"/>
?? ?</path>
??? <target name="all">
??????? <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="D:\jmeter腳本" includes="*.jmx" />
??????? </jmeter>
??? </target>
?? ?<!-- jmeter-results-detail-report_21.xsl?? or??? jmeter.results.shanhe.me.xsl-->
??? <target name="report">
?? ??? ?<!-- 解決不顯示時間的問題-->
?? ??? ?<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
??????? <xslt 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>
??????? <!-- 因為上面生成報告的時候,不會將相關的圖片也一起拷貝至目標目錄,所以,需要手動拷貝 -->
??????? <copy todir="${jmeter.result.html.dir}">
??????????? <fileset dir="${jmeter.home}/extras">
??????????????? <include name="collapse.png" />
??????????????? <include name="expand.png" />
??????????? </fileset>
??????? </copy>
??? </target>
?? ?
</project>
4.jmeter默認保存的是.csv格式的文件,所以我們需先設置一下bin/jmeter.properties文件內容,將jmeter.save.saveservice.output_format=csv保存為xml格式
?
?
4.切換到build.xml腳本目錄下,執行已配置好的腳本
5.通過ant執行build.xml腳本,執行完畢后,查看保存html的文件中是否有剛執行完成的報告,查看文件夾,如下如,然后打開查看結果:
?
?
?至此通過ant執行jmeter并生成html測試報告就完成啦,持續。。。。。(下一篇:通過Jenkins持續集成并發送郵件)
轉載于:https://www.cnblogs.com/wuweihao/p/7839511.html
總結
以上是生活随笔為你收集整理的jmeter脚本结合ant执行测试用例并生成测试报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中的三目运算符
- 下一篇: 【树莓派自动化应用实例】整点提醒自己休息