一新锈、jmeter壓力測試場景
測試人員在使用jmeter對一個場景進行壓力測試,在一個線程組內(nèi)有多個接口時媳荒,測試人員想要測試在特定的時間段內(nèi)一直循環(huán)該線程以測試服務器壓力川慌。但是jmeter在run線程組的時候,經(jīng)常不會按照該線程組內(nèi)的接口順序執(zhí)行(jmeter是并發(fā)的)侣夷,這個時候就會導致上一個接口返回的數(shù)據(jù)無法傳遞給下一個接口横朋,整個線程組就會報錯。
場景舉例:
這個線程組就要求我們需要從上至下進行執(zhí)行惜纸,執(zhí)行順序為A-B-C-D叶撒,但是jmeter執(zhí)行之后會發(fā)現(xiàn),執(zhí)行順序是亂的耐版,可能是A-D-C-B,可能是D-D-A-C-B等等不符合我們的預期
二祠够、接口實戰(zhàn)
我們使用真實的接口來驗證jmeter的執(zhí)行順序
這是一個app下單的場景,線程組設計了從用戶登錄到選擇商品到下單粪牲,這一個線程持續(xù)run十分鐘古瓤。每個接口的關聯(lián)性都很強(都需要從上個接口獲取參數(shù)并作為自己的傳參)
這個線程組就要求接口要按照從上而下的順序執(zhí)行不能并發(fā)或逆序。
但是在run之后會發(fā)現(xiàn)除了第一次是按照從上而下的順序執(zhí)行腺阳,其他的都是亂序執(zhí)行的落君,這就是因為jmeter獨特的并發(fā)機制導致的。
三亭引、解決辦法
那么如何解決這個問題呢绎速?
很簡單,我們只需要在這個線程組內(nèi)添加一個邏輯控制器即可
如圖所示:
在添加了臨界部分控制器之后焙蚓,我們線程組內(nèi)的接口執(zhí)行順序問題就完美的解決了纹冤。