點(diǎn)擊鏈接加入QQ群 522720170(免費(fèi)公開課、視頻應(yīng)有盡有):https://jq.qq.com/?_wv=1027&k=5C08ATe
一、JMeter進(jìn)行HTTP協(xié)議接口的壓力測(cè)試
1.添加線程組

填寫并發(fā)信息

2.添加HTTP請(qǐng)求

填寫HTTP請(qǐng)求信息

3.設(shè)置監(jiān)聽(tīng)器

4.測(cè)試執(zhí)行
1.)點(diǎn)擊【保存】按鈕,保存測(cè)試腳本,格式為:*.jmx;
2.)點(diǎn)擊【啟動(dòng)】按鈕,執(zhí)行測(cè)試腳本;
5.測(cè)試結(jié)果解析
1.)查看結(jié)果樹:可以查看測(cè)試結(jié)果、請(qǐng)求信息、響應(yīng)信息;
2)查看聚合報(bào)告:可以查看測(cè)試的請(qǐng)求數(shù)、響應(yīng)時(shí)間和成功率
二、JMeter測(cè)試搶紅包示例
(1)概述
??? 此處記錄使用JMeter對(duì)搶紅包業(yè)務(wù)進(jìn)行壓力測(cè)試的過(guò)程,涉及的內(nèi)容包括:
1.搶紅包業(yè)務(wù)壓力測(cè)試需求分析;
2.創(chuàng)建JMeter測(cè)試計(jì)劃,根據(jù)業(yè)務(wù)執(zhí)行邏輯設(shè)計(jì)測(cè)試腳本;
3.設(shè)置檢查點(diǎn);
4.回放腳本,根據(jù)業(yè)務(wù)邏輯判斷檢查點(diǎn)設(shè)置是否有效;
5.腳本參數(shù)化;
6.虛擬批量用戶執(zhí)行搶紅包業(yè)務(wù);
7.測(cè)試結(jié)果分析;
(2)測(cè)試需求分析
1.驗(yàn)證批量用戶搶紅包時(shí)的響應(yīng)時(shí)間是否滿足300ms以內(nèi);
2.驗(yàn)證相同紅包每個(gè)用戶只能搶1次;
3.每個(gè)紅包最多只能被搶9次;
4.用戶搶紅包的業(yè)務(wù):
1)使用手機(jī)訪問(wèn)紅包,請(qǐng)求驗(yàn)證碼;(參數(shù)包含手機(jī)號(hào)碼和驗(yàn)證碼)
2)(驗(yàn)證碼下發(fā)成功),使用手機(jī)搶紅包;(參數(shù)包含手機(jī)號(hào)碼和驗(yàn)證碼)
5.測(cè)試手機(jī)號(hào)碼和測(cè)試紅包有限;
(3)創(chuàng)建測(cè)試計(jì)劃、設(shè)計(jì)測(cè)試腳本
步驟如下:
1.新建測(cè)試計(jì)劃,右擊測(cè)試計(jì)劃-->【添加】-->【Threads(Users)】-->【線程組】,創(chuàng)建名為“搶紅包測(cè)試”的線程組;
2.右擊“搶紅包測(cè)試”線程組-->【添加】-->【Sampler】-->【HTTP請(qǐng)求】,添加名為“請(qǐng)求驗(yàn)證碼”的HTTP請(qǐng)求;
1)填寫“請(qǐng)求驗(yàn)證碼”的HTTP請(qǐng)求信息;

2)為“請(qǐng)求驗(yàn)證碼”請(qǐng)求【查看結(jié)果樹】,監(jiān)聽(tīng)測(cè)試結(jié)果;
3.右擊“搶紅包測(cè)試”線程組-->【添加】-->【Sampler】-->【HTTP請(qǐng)求】,添加名為“搶紅包”的HTTP請(qǐng)求;
1)填寫“搶紅包”的HTTP請(qǐng)求信息;

2)為“搶紅包”請(qǐng)求添加【查看結(jié)果樹】,監(jiān)聽(tīng)測(cè)試結(jié)果;
4.右擊“搶紅包測(cè)試”線程組-->【添加】-->【監(jiān)聽(tīng)器】-->【查看結(jié)果樹】,看測(cè)試結(jié)果、請(qǐng)求信息、響應(yīng)信息;
5.右擊“搶紅包測(cè)試”線程組-->【添加】-->【監(jiān)聽(tīng)器】-->【聚合報(bào)告】,查看測(cè)試的請(qǐng)求數(shù)、響應(yīng)時(shí)間和成功率等信息;
6.按上述步驟創(chuàng)建測(cè)試腳本,效果如下:

(4)設(shè)置檢查點(diǎn)
步驟如下:
1.使用一組正確的測(cè)試數(shù)據(jù),驗(yàn)證請(qǐng)求驗(yàn)證碼、搶紅包成功的提示信息:
? ?1)請(qǐng)求驗(yàn)證碼成功的提示信息為“短信驗(yàn)證碼下發(fā)成功!”

2)請(qǐng)求驗(yàn)證碼成功后,搶紅包成功的提示信息為“成功”

2.設(shè)置檢查點(diǎn)
1)右擊“請(qǐng)求驗(yàn)證碼”請(qǐng)求-->【添加】-->【斷言】-->【響應(yīng)斷言】;
2)點(diǎn)擊【添加】按鈕,編輯斷言信息,該例中檢查響應(yīng)數(shù)據(jù)是否包含“短信驗(yàn)證碼下發(fā)成功!”

3)右擊“搶紅包”請(qǐng)求-->【添加】-->【斷言】-->【響應(yīng)斷言】;
4)點(diǎn)擊【添加】按鈕,編輯斷言信息,該例中檢查響應(yīng)數(shù)據(jù)是否包含“成功”;

(5)驗(yàn)證檢查點(diǎn)是否生效
1..使用失效數(shù)據(jù)模擬用戶請(qǐng)求,確認(rèn)檢查點(diǎn)是否生效;
1.)使用失效數(shù)據(jù)請(qǐng)求驗(yàn)證碼時(shí),測(cè)試失敗,因沒(méi)有檢查到指定信息;

? ? 2.)使用失效數(shù)據(jù)搶紅包時(shí),測(cè)試失敗,因沒(méi)有檢查到指定信息;

2.使用正確信息請(qǐng)求時(shí),測(cè)試通過(guò);
(6)腳本參數(shù)化
步驟如下:
1.右擊“搶紅包測(cè)試”線程組-->【添加】-->【配置元件】-->【CSV Data Set Config】;
2.編輯【CSV Data Set Config】信息,如下圖:

3.修改“請(qǐng)求驗(yàn)證碼”和“搶紅包”請(qǐng)求中需要參數(shù)化的參數(shù)值,和步驟2中定義的變量屬性一致;

4.參數(shù)文件示例:

(7)虛擬批量用戶執(zhí)行搶紅包業(yè)務(wù)
前置條件:
1.檢查點(diǎn)生效、測(cè)試腳本調(diào)試成功;
2.測(cè)試參數(shù)化的測(cè)試數(shù)據(jù)準(zhǔn)備完成;
步驟:
1.設(shè)置測(cè)試計(jì)劃循環(huán)次數(shù);

2.點(diǎn)擊啟動(dòng)按鈕,開始執(zhí)行測(cè)試
(8)測(cè)試結(jié)果分析
1.查看結(jié)果樹:測(cè)試結(jié)果與實(shí)際結(jié)果一致,成功118次,失敗7次(調(diào)試腳本時(shí)已使用的信息,為失效信息)
2.查看聚合報(bào)告:


三、多線程組并發(fā)測(cè)試(多場(chǎng)景混合并發(fā))
如果測(cè)試需求出現(xiàn)如下場(chǎng)景,該如何使用JMeter實(shí)現(xiàn)壓力測(cè)試呢?即JMeter如何實(shí)現(xiàn)多線程組并發(fā)測(cè)試,也就是Loadrunner中的混合場(chǎng)景測(cè)試時(shí),該如何設(shè)置并發(fā)數(shù)?
測(cè)試需求如下:對(duì)業(yè)務(wù)A、業(yè)務(wù)B、業(yè)務(wù)C、業(yè)務(wù)D、業(yè)務(wù)E,5個(gè)業(yè)務(wù)按并發(fā)比例要求進(jìn)行100個(gè)用戶并發(fā)的壓力測(cè)試;

JMeter是可以實(shí)現(xiàn)上述需求的,測(cè)試方案如下:
1.創(chuàng)建一個(gè)測(cè)試計(jì)劃;
2.在該計(jì)劃下添加5個(gè)線程組,分別是對(duì)業(yè)務(wù)A、業(yè)務(wù)B、業(yè)務(wù)C、業(yè)務(wù)D、業(yè)務(wù)E;
3.分別設(shè)置線程組業(yè)務(wù)A、業(yè)務(wù)B、業(yè)務(wù)C、業(yè)務(wù)D、業(yè)務(wù)E的線程數(shù)為:40、10、20、25、5(總并發(fā)量為100,按并發(fā)比例設(shè)置并發(fā)用戶數(shù))

3.在該計(jì)劃下添加測(cè)試結(jié)果監(jiān)控;

4.設(shè)置執(zhí)行時(shí)間,開始執(zhí)行測(cè)試,測(cè)試時(shí)可以看到并發(fā)數(shù)為5個(gè)業(yè)務(wù)并發(fā)量的總和,,如下圖:
