日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区

發(fā)布時(shí)間:2025/4/16 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說明:Apach-Jmeter有完善的桌面客戶端,關(guān)聯(lián)數(shù)據(jù)的處方方式,各種參數(shù)化的方式,各種Jar包的擴(kuò)展,也可以用作抓包工具使用,當(dāng)然最重要的是它是【開源!開源!開源!】,重要的事說三遍,目前也有基于maven方式的構(gòu)建方式,Jmeter在保證了其全面性的基礎(chǔ)上,又完善了其使用上的便捷性,必須給它打滿分。

如題:

Jmeter+Ant+Jenkins用作接口自動(dòng)化測(cè)試框架甚至UI自動(dòng)化測(cè)試框架的確十分優(yōu)秀,各種參數(shù)化,正則,斷言,數(shù)據(jù)存儲(chǔ),通過Ant構(gòu)建還可以將其.jtl結(jié)果文件轉(zhuǎn)換成HTML文件,通過Jenkins完整的展現(xiàn)在Web頁(yè)面上,各種性能指標(biāo),每個(gè)接口的詳情都十分清晰的展現(xiàn)在頁(yè)面上,當(dāng)然這只是基于.jtl文件小于50M的情況。(如果將這50M文件轉(zhuǎn)換成HTML文件也需要3個(gè)小時(shí)左右),但現(xiàn)實(shí)是,你既然要做性能自動(dòng)化,那么你產(chǎn)生的.jtl文件就不是50M這么點(diǎn)了,結(jié)合我的實(shí)際經(jīng)驗(yàn),每次產(chǎn)生的.jtl文件都在500M以上,轉(zhuǎn)換成HTML文件是不可能的,你的PC已經(jīng)沒有足夠的內(nèi)存去處理了,就會(huì)造成Jenkins或者Ant處于假死的狀態(tài),你是拿不到HTML文件的,.jtl文件給領(lǐng)導(dǎo)他們看得了嗎,答案是不能!

?

?

重點(diǎn)來(lái)了,選取Jmeter+Ant+Jenkins做接口自動(dòng)化與性能自動(dòng)化時(shí)要區(qū)別對(duì)待,你要仔細(xì)分析你的實(shí)際需求,接口自動(dòng)化是細(xì)分到每個(gè)接口都要看到詳情明細(xì),所以你的測(cè)試結(jié)果必須清晰,這里你就有必要將.jtl文件轉(zhuǎn)換成HTML文件。性能自動(dòng)化,我們關(guān)注的響應(yīng)時(shí)間、吞吐量、請(qǐng)求的成功率、Cpu、內(nèi)存等性能指標(biāo),關(guān)注的重點(diǎn)是高并發(fā)下服務(wù)端運(yùn)行的穩(wěn)定性,關(guān)注的是服務(wù)端的概況,這里我們就沒必要關(guān)注每個(gè)接口的詳情了,產(chǎn)生的.jtl結(jié)果文件也是很大的,我們沒必要將其轉(zhuǎn)換成HTML文件,Jenkins有一個(gè)性能分析的插件?Performance Plugin ,使用它將本次性能測(cè)試的核心性能指標(biāo)轉(zhuǎn)換在Jenkins頁(yè)面上即可,速度相當(dāng)快,至于具體的錯(cuò)誤分析,詳細(xì)的接口信息就需要自己打開Jmeter客戶端去仔細(xì)分析了,這里性能測(cè)試是做不到完全自動(dòng)化的,當(dāng)然我能力有限,能做到的只有這些。

?

當(dāng)然Jmeter+Ant+Jenkins用作自動(dòng)化框架時(shí)你可以隨意切換測(cè)試模式,想做性能自動(dòng)化就把Ant的build.xml文件轉(zhuǎn)換.jtl的相關(guān)配置注釋掉,想做接口自動(dòng)化就把轉(zhuǎn)換.jtl的相關(guān)配置放開。

?

附build.xml文件內(nèi)容。

<?xml version="1.0" encoding="UTF8"?>

<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的jmeter目錄-->
<property name="jmeter.home" value="D:\jmeter\apache-jmeter-3.2" />
<!-- jmeter生成的jtl格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.jtl.dir" value="D:\jmeter\云診所核心性能場(chǎng)景\report\jtl" />
<!-- jmeter生成的html格式的結(jié)果報(bào)告的路徑-->
<property name="jmeter.result.html.dir" value="D:\jmeter\云診所核心性能場(chǎng)景\report\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.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.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}.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="D:\jmeter\云診所核心性能場(chǎng)景" includes="*.jmx" />

<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<!--接口自動(dòng)化時(shí)開啟下方配置,做性能自動(dòng)化時(shí)生成的jtl文件過大,會(huì)導(dǎo)致ant假死-->
<!--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-->
<!-- 拷貝報(bào)告所需的圖片資源至目標(biāo)目錄 -->
<!--copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target-->
</project>

轉(zhuǎn)載于:https://www.cnblogs.com/zw520ly/p/8805491.html

總結(jié)

以上是生活随笔為你收集整理的关于Jmeter+Ant+Jenkins作为接口、性能自动化框架的误区的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。