前言:
Jmeter是目前最流行的一種測(cè)試工具,基于此工具我們搭建了一整套的自動(dòng)化方案,包括了腳本添加配置、本地配置和運(yùn)行、服務(wù)器配置等內(nèi)容,完成了自動(dòng)化測(cè)試閉環(huán),通過(guò)這種快捷簡(jiǎn)便高效的方式,希望可以解決自動(dòng)化測(cè)試上手難的痛點(diǎn)。下面閑言少敘,我們直接切入實(shí)戰(zhàn):
一、準(zhǔn)備自動(dòng)化測(cè)試物料
? ? 1、開(kāi)發(fā)運(yùn)行工具Jmeter,(下載地址:?Apache JMeter - Download Apache JMeter)
?? ?2、開(kāi)發(fā)環(huán)境為已發(fā)布ready;
? ? 3、測(cè)試腳本已準(zhǔn)備ready;
??? 4、腳本運(yùn)行環(huán)境已準(zhǔn)備(fat或者uat);
二、自動(dòng)化測(cè)試通過(guò)標(biāo)準(zhǔn)
? ? 1、成功Status 返回200 ;
?? ?2、失敗返回404、500等;
??? 3、每個(gè)腳本專用斷言;
三、自動(dòng)化腳本存儲(chǔ)
? ? 腳本全部存儲(chǔ)在Gitlab倉(cāng)庫(kù)中,(腳本的存儲(chǔ)規(guī)范請(qǐng)參考:GitLab Jmeter測(cè)試包通用設(shè)計(jì)1.0版)
項(xiàng)目根目錄新建文件夾,前面文件夾名和項(xiàng)目名保持一致,后綴加“-test”,如下圖文件夾:
?? ?
四、自動(dòng)化測(cè)試Script Rules
? ??1、腳本命名為接口名
? ? 2、存儲(chǔ)類型為后綴jmx的文件
? ? 3、線程數(shù)設(shè)置為1(冒煙測(cè)試無(wú)需多線程并發(fā))
? ? 4、必須包含斷言判斷,狀態(tài)檢測(cè)設(shè)定為200
五、自動(dòng)化測(cè)試Script Steps
? ? 1、添加線程組,腳本命名為接口名,點(diǎn)擊存儲(chǔ) 為后綴jmx的文件
? ? 2、將線程數(shù)設(shè)置為1,其他設(shè)置為默認(rèn)(如下圖)
?? ?3、循環(huán)次數(shù)為不循環(huán),調(diào)度器不設(shè)置,其他參數(shù)不設(shè)置(如下圖)
?? ??? ??? ?
?
? ?
? ? 4、配置http協(xié)議選項(xiàng):
?? ?? ? a、添加http請(qǐng)求,線程組右鍵“添加”,選擇“Sampler”,再選擇“HTTP請(qǐng)求”:
?? ??? ??? ???
? ? ? ? b、請(qǐng)求為post or get(如下圖,此處根據(jù)實(shí)際情況設(shè)置為POST)
? ? ?? ?c、內(nèi)容編碼:UTF-8(如下圖,此處根據(jù)實(shí)際情況設(shè)置為UTF-8)
? ? ?? ?d、Request報(bào)文:填入Body Data(如下圖,此處根據(jù)實(shí)際情況設(shè)置Request報(bào)文內(nèi)容)
?? ??? ?? ? ????
?
? ?
?5、配置斷言選項(xiàng),線程組右鍵“添加”,選擇“斷言”,此處選擇“響應(yīng)斷言”。注意可以根據(jù)實(shí)際情況選擇其他斷言類型:
?? ?? ? a、添加響應(yīng)斷言,如下圖所示;
?? ??? ??? ?
?? ?? ? b、選擇響應(yīng)字段為響應(yīng)代碼,如下圖所示;
?? ?? ? c、匹配規(guī)則選擇為包括,如下圖;
?? ?? ? d、測(cè)試模式填入200,如下圖(此處為開(kāi)發(fā)自定義返回碼,請(qǐng)根據(jù)實(shí)際情況設(shè)置);
?? ??? ??? ?
?
?6、添加“HTTP信息頭管理器” ,在測(cè)試計(jì)劃點(diǎn)擊右鍵“添加”菜單,選擇“配置元件”,再選擇“HTTP信息頭管理器” (即為HTTP Header Manager),如下圖:
?? ??? ??? ?
? ??可根據(jù)實(shí)際情況添加Content-Type等內(nèi)容,例如此處value設(shè)置為:application/json,如下圖范例:
?
7、添加“查看結(jié)果樹(shù)”,在測(cè)試計(jì)劃點(diǎn)擊右鍵“添加”菜單,選擇“監(jiān)聽(tīng)器”,再選擇“查看結(jié)果樹(shù)”:
?
運(yùn)行成功或失敗,分別可以查看結(jié)果樹(shù)詳情,如下圖所示,查看響應(yīng)數(shù)據(jù),可以看到response報(bào)文:
?
下圖是一個(gè)運(yùn)行失敗結(jié)果的斷言,斷言失敗的信息也會(huì)有詳細(xì)說(shuō)明:
?
8、添加"用表格查看結(jié)果",在測(cè)試計(jì)劃點(diǎn)擊右鍵“添加”菜單,選擇“監(jiān)聽(tīng)器”,選擇“用表格查看結(jié)果”:
?
添加后每次測(cè)試計(jì)劃運(yùn)行結(jié)束,可以查看全部線程組的運(yùn)行結(jié)果,如下圖所示:
?
9、添加“聚合報(bào)告”,在測(cè)試計(jì)劃點(diǎn)擊右鍵“添加”菜單,選擇“監(jiān)聽(tīng)器”,選擇“聚合報(bào)告”:
?
聚合報(bào)告主要用來(lái)收集本次測(cè)試計(jì)劃運(yùn)行的一些重要的性能指標(biāo)數(shù)值,例如Average、90%Line等等,添加后每次測(cè)試計(jì)劃運(yùn)行結(jié)束可以查看到指標(biāo)的有效數(shù)據(jù),如下圖范例:
?
六、本地執(zhí)行
1、在當(dāng)前測(cè)試計(jì)劃中,根據(jù)上述范例逐一添加本次需要運(yùn)行的自動(dòng)化腳本,添加完成后的效果如下所示:
?
2、運(yùn)行當(dāng)前測(cè)試計(jì)劃的全部用例,然后用查看全部運(yùn)行結(jié)果如下:
?
3、同樣在結(jié)果樹(shù),可以查看全部失敗用例的詳細(xì)報(bào)文:
?
七、服務(wù)器配置和運(yùn)行(Jenkins/TFS)
由于job最底層調(diào)度由Jenkins實(shí)現(xiàn),本小節(jié)重點(diǎn)介紹如何配置job參數(shù)等內(nèi)容。TFS方面只需要通過(guò)接口或者命令行的方式,直接調(diào)度Jenkins即可。
1、Job命名規(guī)范,定義在Jenkins中job的命名規(guī)范,如下圖所示,以“JMETER”開(kāi)頭后面是服務(wù)名:
?
2、添加構(gòu)建配置,如圖所示,其中devops是基于Python編寫(xiě)的打包腳本,/sso-support-test是Jmx腳本文件地址,report_server是郵件服務(wù),mail是報(bào)告接收人的郵箱地址:
?
3、構(gòu)建觸發(fā)器配置:如圖所示,這里配置每?jī)煞昼娙ポ喲瓩z查服務(wù)器是否有更新:
?
4、源碼管理:添加并選擇Git倉(cāng)庫(kù),然后配置Repo地址,最后選擇分支dev(非強(qiáng)制)
?
八、服務(wù)器生產(chǎn)自動(dòng)化報(bào)告
自動(dòng)化報(bào)告目前支持兩種形式,郵件和Html報(bào)告查看。
1、郵件方式報(bào)告查看。服務(wù)器端配置響應(yīng)接收人員的郵件地址后,每次自動(dòng)化運(yùn)行結(jié)束,會(huì)自動(dòng)發(fā)送郵件報(bào)告到指定關(guān)注人,如下圖所示:
?
郵件Report中主要包含以下內(nèi)容:
Summary欄目:包含所有請(qǐng)求的總結(jié),總數(shù),失敗數(shù),成功率,平均時(shí)間,最小時(shí)間,最大時(shí)間等。
?
Pages欄目:主要包含了單個(gè)請(qǐng)求的詳情內(nèi)容:
?
Failure Detail:主要是錯(cuò)誤詳情相關(guān)內(nèi)容:
?
2、Html報(bào)告查看。Html內(nèi)容展示目前和郵件基本保持一致不再展開(kāi)詳述,如下圖所示:
?
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-690195.html
2023最新Jmeter接口測(cè)試從入門(mén)到精通(全套項(xiàng)目實(shí)戰(zhàn)教程)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-690195.html
到了這里,關(guān)于Jmeter的自動(dòng)化測(cè)試實(shí)施方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!