版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Jmeter接口自動化測試方法簡介一、思路簡潔了解待測接口參數(shù)規(guī)范,具體參考wiki,明確get參數(shù)和post參數(shù),是否需要驗證cookie、ua等Jmeter參數(shù)化方式酉己置請求host、url、header消息頭等配置csv文件,編寫測試用例參數(shù)和預(yù)期結(jié)果格式校驗根據(jù)需要編寫beanshell腳本或?qū)胼o助性jar包,用于解析接口返回結(jié)果,比如解密數(shù)據(jù)在Jmeter中添加必要的斷言或監(jiān)聽器,用于收集用例執(zhí)行的結(jié)果執(zhí)行測試,查看用例結(jié)果,重點分析Fail的用例,和開發(fā)溝通,上報bug二、一個簡單的性能測試QPS解釋QPS:QueryPerSecond每秒查詢率。是一臺查詢服務(wù)器每秒能夠處理的
2、查詢次數(shù)。在因特網(wǎng)上,作為域名系統(tǒng)服務(wù)器的機器的性能經(jīng)常用每秒查詢率來衡量。為了達成預(yù)期的測目的,需要需要在jmeter中建立一個測試計劃。因為本次測試僅要求完成對和兩個博客首頁請求,因此只需要使用HTTPRequestSampler即可。建立測試計劃啟動jmeter后,jmeter會自動生成一個空的測試計劃,用戶可以基于該測試計劃建立自己的測試計劃。添加線程組一個性能測試請求負載是基于一個線程組完成的。一個測試計劃必須有一個線程組。測試計劃添加線程組非常簡單。在測試計劃右鍵彈出下拉菜單(添加-Threads(Users)-線程組)中選擇線程組即可。jmeter中每個測試計劃至少需要包含一個線
3、程組,當(dāng)然也可以在一個計劃中創(chuàng)建多個線程組,那么多個線程組之間又會怎樣的順序執(zhí)行(串行還是并行)?在測試計劃下面多個線程是并行執(zhí)行的,也就是說這些線程組是同時被初始化并同時執(zhí)行線程組下的Sampler的。-ApacheJMeter(2剪切CiriX具制Gm-G粘血CiriVDuplicafcaClri+Shift1.3SamplerBSFSamplerDebugSamplerFTPiHTTP請求Jam請求一個HTTP請求有著許多的配置參數(shù),下面將詳細介紹:名稱:本屬性用于標識一個取樣器,建議使用一個有意義的名稱。注釋:對于測試沒有任何作用,僅用戶記錄用戶可讀的注釋信息。服務(wù)器名稱或IP:HTT
4、P請求發(fā)送的目標服務(wù)器名稱或IP地址。端口號:目標服務(wù)器的端口號,默認值為80。協(xié)議:向目標服務(wù)器發(fā)送HTTP請求時的協(xié)議,可以是http或者是https,默認值為http。方法:發(fā)送HTTP請求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。Contentencoding:內(nèi)容的編碼方式,默認值為iso8859路徑:目標URL路徑(不包括服務(wù)器地址和端口)自動重定向:如果選中該選項,當(dāng)發(fā)送HTTP請求后得到的響應(yīng)是302/301時,JMeter自動重定向到新的頁面。UsekeepAlive:當(dāng)該選項被選中時,jmeter和目標服務(wù)器之間使用
5、Keep-Alive方式進行HTTP通信,默認選中。Usemultipart/from-dataforHTTPPOST:當(dāng)發(fā)送HTTPPOST請求時,使用Usemultipart/from-data方法發(fā)送,默認不選中。同請求一起發(fā)送參數(shù):在請求中發(fā)送URL參數(shù),對于帶參數(shù)的URL,jmeter提供了一個簡單的對參數(shù)化的方法。用戶可以將URL中所有參數(shù)設(shè)置在本表中,表中的每一行是一個參數(shù)值對(對應(yīng)RUL中的名稱1=值1)。同請求一起發(fā)送文件:在請求中發(fā)送文件,通常,HTTP文件上傳行為可以通過這種方式模擬。從HTML文件獲取所有有內(nèi)含的資源:當(dāng)該選項被選中時,jmeter在發(fā)出HTTP請求并獲
6、得響應(yīng)的HTML文件內(nèi)容后,還對該HTML進行Parse并獲取HTML中包含的所有資源(圖片、flash等),默認不選中,如果用戶只希望獲取頁面中的特定資源,可以在下方的EmbeddedURLsmustmatch文本框中填入需要下載的特定資源表達式,這樣,只有能匹配指定正則表達式的URL指向資源會被下載。用作監(jiān)視器:此取樣器被當(dāng)成監(jiān)視器,在MonitorResultsListener中可以直接看到基于該取樣器的圖形化統(tǒng)計信息。默認為不選中。SaveresponseasMD5hash?:選中該項,在執(zhí)行時僅記錄服務(wù)端響應(yīng)數(shù)據(jù)的MD5值,而不記錄完整的響應(yīng)數(shù)據(jù)。在需要進行數(shù)據(jù)量非常大的測試時,建議
7、選中該項以減少取樣器記錄響應(yīng)數(shù)據(jù)的開銷。在這里我們添加兩個HTTP請求,分別用于對和發(fā)送請求。設(shè)置QPS限制本次性能測試的需求中提到測試的目的是“了解博客的首頁在負載達到20QPS時的響應(yīng)時間”,因此需要控制向博客首頁發(fā)送請求的負載為20QPS。一種可行的方法是逐步調(diào)整測試計劃中的線程計算的數(shù)量以及為取樣器(Sampler)添加定時器(Timer),以使HTTP取樣器發(fā)出的請求的QPS保持在20個左右。但這種方法耗時耗力,需要經(jīng)過多次嘗試才能達到;另一方法,完全通過設(shè)置定時器來控制QPS,一旦取樣器的響應(yīng)時間發(fā)生改變(網(wǎng)絡(luò)環(huán)境發(fā)生改變),就需要重新調(diào)整定時器的等待時間。Jmeter提供了一個非
8、常有用的定時器,稱為ConstantThroughputTimer(常數(shù)吞吐量定時器),該定時器可以方便地控制給定的取樣器發(fā)送請求的吞吐量。右鍵點擊,彈出菜單(添加-定時器-ConstantThroughputTimer)選擇ConstantThroughputTimer剪切斷言屯稱:finnQcnblogscomConstantThroughputTimerJSR223Tiimer插入上級?込訓(xùn)試計劃?總線崔組圍工作臺:亍b渤E哀制HTTP請求BeanShellTimerBSFTi-fner那墨元件卜CN-XCM-CCtrl-V前置處理器卜后養(yǎng)處理器卜刪占ConstantThroughput
9、Timer的主要屬性介紹:名稱:定時器的名稱Targetthroughput(insamplesperminute):目標吞吐量。注意這里是每分鐘發(fā)送的請求數(shù),因此,對應(yīng)測試需求中所要求的20QPS,這里的值應(yīng)該是1200。CalculateThroughputbasedon:有5個選項,分別是:Thisthreadonly:控制每個線程的吞吐量,選擇這種模式時,總的吞吐量為設(shè)置的targetThroughput乘以矣線程的數(shù)量。Allactivethreads:設(shè)置的targetThroughput將分配在每個活躍線程上,每個活躍線程在上一次運行結(jié)束后等待合理的時間后再次運行。活躍線程指同一
10、時刻同時運行的線程。Allactivethreadsincurrentthreadgroup:設(shè)置的targetThroughput將分配在當(dāng)前線程組的每一個活躍線程上,當(dāng)測試計劃中只有一個線程組時,該選項和Allactivethreads選項的效果完全相同。Allactivethreads(shared):與Allactivethreads的選項基本相同,唯一的區(qū)別是,每個活躍線程都會在所有活躍線程上一次運行結(jié)束后等待合理的時間后再次運行。Allcativethreadsincurrentthreadgroup(shared):與Allactivethreadsincurrentthread
11、group基本相同,唯一的區(qū)別是,每個活躍線程都會在所有活躍線程的上一次運行結(jié)束后等待合理的時間后再次運行。如上圖,該元件僅作用于,設(shè)置定時器的Targetthroughput為1200/分鐘(20QPS),設(shè)置CalculateThroughputbasedon的值為Allactivethreads。當(dāng)然,ConstantThroughputTimer只有在線程組中的線程產(chǎn)生足夠多的request的情況下才有意義,因此,即使設(shè)置了ConstantThroughputTimer的值,也可能由于線程組中的線程數(shù)量不夠,或是定時器設(shè)置不合理等原因?qū)е驴傮w的QPS不能達到預(yù)期目標。添加監(jiān)聽器(Lis
12、tener)腳本的主要部分設(shè)置完成后,需要通過某種方式獲得性能測試中的測試結(jié)果,在本例中,我們關(guān)心的是請求的響應(yīng)時間。Jmeter中使用監(jiān)聽器元件收集取樣器記錄的數(shù)據(jù)并以可視化的方式來呈現(xiàn)。Jmeter有各種不同的監(jiān)聽器類型,因為上HTTP請求,我們可在添加聚合報告,更為直觀的查看測試結(jié)果。添加聚合報告,右鍵點擊線程組,在彈的菜單(添加-監(jiān)聽器-聚合報告)中選擇聚合報告。啊刖那疇sra皿勒制CVMX建時器卜M-Ehjpbcate:tiitt-cSdinp4r卜ReseiGui2tft酈sIfTff-I訓(xùn)器ruHii|iDyrnn合丼fit拒為亠和瞬Hn*A9linageDelayIhiSavS
13、creenAs(rnagt-BSFListeiicrCkaphShenStanMexiItiDtMrtbutwnGraph(alplra)JSR22JL陽館iwfRospan爼Twnc-(iraphSimpteDamWrrtersplineiizf菇束MJ網(wǎng)MSumnaryReport運行腳本添加完成聚合報告后,我們來運行腳本,稍后介紹聚合報告的參數(shù)。在運腳本之前,我們來查看一下,各個元件的參數(shù)設(shè)置:線程組:線程數(shù):20準備時長:10循環(huán)次數(shù):10HTTP請求:名稱:。服務(wù)器名稱或IP:端口號:80Implementation:java協(xié)議:http方法:GET路徑:/常數(shù)吞吐量定時器:Tar
14、getthroughput(insamplesperminute):1200.0CalculateThroughputbasedon:Allactivethreads點擊工具欄上的運行按鈕,或者點擊菜單欄“運行-啟動”或者使用快捷鍵ctrl+r來運行程序。聚合報告分析查看聚合報告的運行結(jié)果:聚合掘告斷肓數(shù)揺寫凡一個文件文件名iMLog/Disp9ayOnly;僅日吉轄誤SuccessesConfigLabel#SamplesAverageMedEan90%LEnel.linlA3)aError%ThroughputKblog.200116159927360.001%18.2/sec總體20011615992736.DO%18.2/secTermDefinititmLabel-SamplesAverageXlediti90%LinXlinMaxError%ThroughputKB/每個JMMer的elementf例如HTTPRequest)都有個Name屬性,這甲昴下的就是Name屬性的值表審你這次測試中一共發(fā)出了多少個請求,如果模擬1。個用戶,毎個用戶迭代M;兄那么妝甲異示100平均響應(yīng)時間對認情況下是單個Request的平均響應(yīng)時間當(dāng)使用了TrnsamonController時H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蒙藥材種植員達標競賽考核試卷含答案
- 銻白爐工達標考核試卷含答案
- 鐵合金焙燒工崗前激勵考核試卷含答案
- 頭針療法聯(lián)合運動訓(xùn)練對老年腦卒中患者下肢功能、步行能力和血清BDNF、NGF水平的影響
- 老年疾病樣本庫的長期保存與共享策略
- 2026四川成都市地質(zhì)環(huán)境監(jiān)測站考核招聘1人備考題庫及答案詳解1套
- 2026年度濟寧高新區(qū)事業(yè)單位公開招聘初級綜合類崗位人員備考題庫及1套參考答案詳解
- 交通肇事逃逸處理制度
- 第16課《白楊禮贊》課件2025-2026學(xué)年統(tǒng)編版語文八年級上冊
- Linux系統(tǒng)安全加固實施方案
- 探空氣球課件
- 船舶除銹涂裝課件
- 雨課堂學(xué)堂在線學(xué)堂云人類行為與社會環(huán)境內(nèi)蒙古大學(xué)單元測試考核答案
- 天貓店主體變更申請書
- 亞馬遜運營年終總結(jié)
- 航空運輸延誤預(yù)警系統(tǒng)
- DLT 5142-2012 火力發(fā)電廠除灰設(shè)計技術(shù)規(guī)程
- 文化藝術(shù)中心管理運營方案
- 肩袖損傷臨床診療指南
- 2025年CFA二級《數(shù)量方法》真題及答案
- 小麥栽培課件
評論
0/150
提交評論