1、在使用Jmeter添加線程組(性能測(cè)試單場(chǎng)景涉及的API均添加到此線程組):
? ? (Test Plan)-> Add Thread Group;
2、向線程組添加HTTP Request(協(xié)議、方法、url、path、request body):
? ? (Tread Group)->Add Sampler HTTP Request
3、給request增加頭部(request header:如Authorization、Content-type等):
? ? (HTTP Request)->Add Config Element -> HTTP Header Manager;
4、線程組(場(chǎng)景的請(qǐng)求組合)增加觀察樹(用于監(jiān)聽壓測(cè)過程中的實(shí)時(shí)結(jié)果,包含發(fā)出的request、返回的response等):
? ? (Thread Group)-> Add Listener -> View Results Tree
????那么,有了以上三步,我們一個(gè)簡(jiǎn)單的壓測(cè)基本輪廓已經(jīng)完成,這時(shí),我們需要思考,有了對(duì)觀察樹的監(jiān)聽來跟進(jìn)測(cè)試結(jié)果,那我們具體的通過指標(biāo)也就是預(yù)期結(jié)果是什么呢?于是,需要對(duì)每個(gè)請(qǐng)求增加相應(yīng)的斷言來map返回結(jié)果是否正常。
5、給Request增加斷言:
? ? (HTTP Request)-> Add Assertions -> Response Assertion

? ? 我們得到了以上的界面:重點(diǎn)分為apply to、Field to Test、
????(1)apply to(斷言的應(yīng)用范圍):
????Main sample only: 僅當(dāng)前父取樣器 進(jìn)行斷言,一般一個(gè)請(qǐng)求,如果發(fā)一個(gè)請(qǐng)求會(huì)觸發(fā)多個(gè),則就有sub sample(比較少用)
? ?(2) Fields to Test (要測(cè)試的響應(yīng)字段)
? ? 最佳方法是先運(yùn)行以下線程組,在View Results Tree中查看具體成功的Response,再使用Response給相應(yīng)的Http Request增加斷言。
????響應(yīng)文本(Text Response最常用):即響應(yīng)的數(shù)據(jù),比如json等文本。
????響應(yīng)代碼(Response Code慎用,許多有業(yè)務(wù)意義的接口不建議用,雖然status code是200,但是實(shí)際上返回了業(yè)務(wù)失敗):http的響應(yīng)狀態(tài)碼,比如200,302,404這些????
????響應(yīng)信息(Response Message):http響應(yīng)代碼對(duì)應(yīng)的響應(yīng)信息,例如:OK, Found
????Response Header: 響應(yīng)頭
(3)Pattern Matching Rules(模式匹配規(guī)則)
????包括(最常用):包含在里面就成功
????匹配:響應(yīng)內(nèi)容完全匹配,不區(qū)分大小寫
????equals:完全匹配,區(qū)分大小寫
(4)Patterns to Test(返回?cái)嘌缘膬?nèi)容)
? ? 填具體期望的結(jié)果即可。
? ?綜上,?Most Recommend?建議使用:Text Response + Contains
6、監(jiān)聽線程組壓測(cè)過程中實(shí)際的斷言結(jié)果:
? ? (Thread Group)-> Add Listener -> Assertion Results