- 怎么使用jmeter自行百度
- 安裝ant
配置ant
主要是配置build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目錄-->
<property name="jmeter.home" value="F:\xxxxx\Jmeter" />
<!-- jmeter生成jtl格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.jtl.dir" value="F:\xxxxx\resultLog\jtl" />
<!-- jmeter生成html格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.html.dir" value="F:\xxxxx\resultLog\html" />
<!-- 生成的報(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="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}">
<!-- 聲明要運(yùn)行的腳本踩官。"*.jmx"指包含此目錄下的所有jmeter腳本-->
<testplans dir="D:\test_case_path" includes="*.jmx" />
</jmeter>
</target>
<target name="report">
<xslt in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl" />
<!-- 因?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>
Jenkins配置
- Jenkins 上安裝 “Publish performance test result report” ,“Publish HTML reports” 的插件,配置一下。
ant的配置
運(yùn)行效果如下:
錯(cuò)誤解決方案
發(fā)現(xiàn)jenkins上性能圖顯示不出來
解決方案:
- Jmeter/bin 下將 jmeter.properties 中
- jmeter.save.saveservice.output_format=csv的csv改成xml
ji
結(jié)果如下
出現(xiàn)報(bào)錯(cuò)日志
Started by user anonymous
Building in workspace C:\Users\Administrator.jenkins\jobs\我的測(cè)試\workspace
[testCase] $ cmd.exe /C '"ant.bat -file build.xml && exit %%ERRORLEVEL%%"'
Buildfile: E:\apps\jmeter\testCase\build.xml
all:
test:
[jmeter] Executing test plan: E:\apps\jmeter\testCase\web.jmx ==> E:\apps\jmeter\resultLog\jtl\TestReport201506080830.jtl
[jmeter] Creating summariser <summary>
[jmeter] Created the tree successfully using E:\apps\jmeter\testCase\web.jmx
[jmeter] Starting the test @ Mon Jun 08 20:30:19 CST 2015 (1433766619320)
[jmeter] Waiting for possible shutdown message on port 4445
[jmeter] summary = 10 in 1.1s = 8.8/s Avg: 190 Min: 141 Max: 254 Err: 0 (0.00%)
[jmeter] Tidying up ... @ Mon Jun 08 20:30:20 CST 2015 (1433766620505)
[jmeter] ... end of run
report:
[xslt] Processing E:\apps\jmeter\resultLog\jtl\TestReport201506080830.jtl to E:\apps\jmeter\resultLog\html\TestReport201506080830.html
[xslt] Loading stylesheet D:\app\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
BUILD SUCCESSFUL
Total time: 2 seconds
Performance: Percentage of errors greater or equal than 1% sets the build as unstable
Performance: Percentage of errors greater or equal than 2% sets the build as failure
Performance: Recording JMeter reports '/apps/jmeter/resultLog/jtl/*.jtl'
Performance: no JMeter files matching '/apps/jmeter/resultLog/jtl/*.jtl' have been found. Has the report generated?. Setting Build to FAILURE
Build step 'Publish Performance test result report' changed build result to FAILURE
Finished: FAILURE
我確定我的jtl文件目錄是沒有錯(cuò)的
終于解決了
-
根據(jù)日志文件報(bào)錯(cuò)携悯,發(fā)現(xiàn)工作目錄為:Building in workspace C:\Users\Administrator.jenkins\jobs\我的測(cè)試\workspace
然而我的日志文件卻在e盤,于是我構(gòu)建了一個(gè)shell 命名筷笨,把e盤的日志文件收到復(fù)制到工作目錄:cd $WORKSPACEcp -r E:/apps/jmeter/resultLog/* .
我的配置的JMeter Report files: */jtl/.jtl再次運(yùn)行:
但是還有有點(diǎn)問題就是默認(rèn)列表進(jìn)來顯示的數(shù)據(jù)為空?qǐng)D片憔鬼,要點(diǎn)擊進(jìn)去才能看到具體的某一個(gè)圖片
解決方式:
[https://issues.jenkins-ci.org/browse/JENKINS-27100]
插件的bug,有老外已經(jīng)修復(fù),直接下載了替換即可
生成的報(bào)告沒有min和max的time的時(shí)間胃夏,顯示的為NaN轴或,但是在執(zhí)行命名過程中是可以看到max和min的時(shí)間
直接在build.xml加入以下幾行就解決了:
<!-- use this config to generate html report; if not, may not display Min/Max Time in html-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.2.jar"/>
</path>
實(shí)際操作下來,并沒有解決仰禀,問題依舊存在照雁。
多次嘗試后發(fā)現(xiàn),僅需要從Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里即可答恶,不用修改build.xml
- 參考這個(gè)帖子