Jmeter是進行接口測試的一款非常主流的工具,但絕大部分測試工程師,對于Jmeter接口測試腳本整理都是一知半解的。今天這篇文章,就以一個金融項目中接口為例,通過簡單5步,教大家如何0代碼編寫Jmeter接口自動化腳本!
0、金融項目接口
1、登錄接口信息
?
?
2、新增投資項目接口信息
?
?
接口說明:
請求頭中Authorization傳值Bearer Token,Token是登錄成功后響應結果中獲取。
請求參數(shù)中member_id,是指登錄賬號的id,也是從登錄成功后響應結果中獲取。
?
1、數(shù)據(jù)驅動ddt
一個接口,需要覆蓋正常、異常多種情況的用例數(shù)據(jù)進行測試,從而得到不同的輸出結果。你是怎么測試呢?是不是每測試一種情況就修改一次傳參的數(shù)據(jù)呢?如果不想每次都修改請求,但是又要覆蓋到多組測試數(shù)據(jù)的測試執(zhí)行。Jmeter有提供很好的解決方案:通過CSV文件數(shù)據(jù)配置 + 循環(huán)控制器這2個元件實現(xiàn)。
1) 以登錄接口為例,先把需測試的各種正常/異常測試數(shù)據(jù),整理到CSV文件中,如下:
?
?
2)打開Jmeter, 新建線程組,添加HTTP請求頭管理器并設置好請求頭信息。右鍵邏輯控制器-循環(huán)控制器,循環(huán)次數(shù)設置為CSV文件中的需執(zhí)行的用例條數(shù)。
?
?
3)在循環(huán)控制器下,添加配置元件-CSV數(shù)據(jù)文件配置,用于讀取CSV文件中的每條測試用例數(shù)據(jù),配置如下:
?
?
4)在循環(huán)控制器下,添加HTTP請求,修改名稱,登錄請求設置如下:
?
?
5)點擊運行,可以看到依次執(zhí)行CSV用例中的每條用例,并輸出對應結果
?
2、測試結果校驗
以上登錄的每條用例執(zhí)行完后,需要去確認執(zhí)行結果的正確性!你是人工點開每一條用例的接口返回結果,憑肉眼判斷嗎?那樣就太費時間了,Jmeter有提供很多種自動判斷用例執(zhí)行是否符合預期的機制— 斷言機制。Jmeter可通過: 響應斷言 + CSV數(shù)據(jù)驅動 實現(xiàn)。
1)右鍵循環(huán)控制器-斷言-添加響應斷言,并設置斷言內容如下
?
?
2) 點擊運行,可以看到執(zhí)行結果。請求顯示綠色--表示斷言成功;請求顯示紅色-表示斷言失敗,用例執(zhí)行失敗。點開可以看到斷言失敗的原因。
?
?
?
3、接口依賴處理
如果我們要再去測試“添加投資項目”這個接口,跟登錄一樣,測試數(shù)據(jù)準備到CSV文件中,然后也是自動循環(huán)去讀取CSV文件中測試用例,去執(zhí)行!
但會存在問題: 添加投資項目這個接口要想執(zhí)行成功,必須依賴到登錄狀態(tài),需要從登錄成功的響應結果中提取需要的token、用戶id值。
如何解決? 將登錄接口作為前置操作,登錄只執(zhí)行1次,然后通過后置處理器-json提取器獲取到token、id的值;再傳遞給添加投資項目的這個接口使用。
?
1)腳本結構如下,新建登錄請求作為前置,在登錄請求下添加json提取器,頁面設置如下:
?
?
2)將提取到的token值,傳遞到下個接口的請求頭使用,在添加投資項目接口下方添加HTTP信息頭管理器,引用user_token變量的值
?
?
3)將提取到的用戶id,傳遞到下個接口的請求參數(shù)中,這里分2步處理,首先在CSV文件中的請求列數(shù)據(jù),設置${user_id},如下:
?
?
然后在添加投資項目接口的http請求頁面,引用從CSV文件中讀取的req_data變量值時,因為該值中嵌套了${user_id}變量值,因此這里要用Jmeter自帶的__eval函數(shù)處理下。
?
?
4)點擊運行,可以看到CSV中3條用例都執(zhí)行成功。
4、公共數(shù)據(jù)管理
很多接口請求中,會存在部分相同的請求信息,例如環(huán)境地址。測試環(huán)境/預發(fā)布環(huán)境/發(fā)布環(huán)境,服務器地址是不一樣的。對于測試來說,如果需要在不同環(huán)境下,執(zhí)行同一套接口腳本時,得一個個接口去修改服務器地址,這是很麻煩的。那么在Jmeter中,可以通過:自定義變量 實現(xiàn)高效處理。
1)新建配置元件-用戶定義的變量,設置host、port2個變量,用來保存當前測試環(huán)境地址信息
?
?
2)然后在自動化腳本的請求位置,將這2個變量進行引用,例如登錄接口設置如下:
?
?
這樣,如果下次需要切換到預發(fā)布環(huán)境進行測試,只需要修改用戶定義變量中的環(huán)境地址信息即可。
?
5、多接口批量執(zhí)行
在實際工作中,如果一個項目比較大,腳本編寫工作是需要協(xié)同完成的。比如說你負責ABC模塊接口、他負責DEF模塊接口,最后如果要整合所有的接口進行批量執(zhí)行怎么處理呢?可以通過Jmeter的測試片段,分模塊管理接口腳本。一般可以一個接口一個測試片段。測試片段本身是不能直接運行的,需要通過模塊控制器或include控制器才能執(zhí)行。
1)右鍵新建測試片段,將登錄接口的多用例執(zhí)行腳本,保存在測試片段下;同理添加投資項目接口的多用例執(zhí)行腳本。如下:
?
?
2)新建線程組,在線程組下添加模塊控制器,選擇需要執(zhí)行的測試片段;
?
?
?
?
3)點擊運行,可以看到多接口批量執(zhí)行結果
?
行動吧,在路上總比一直觀望的要好,未來的你肯定會感 謝現(xiàn)在拼搏的自己!如果想學習提升找不到資料,沒人答疑解惑時,請及時加入扣群:731789136,里面有各種軟件測試+開發(fā)資料和技術可以一起交流學習哦。
最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,這些資料,對于【軟件測試】的朋友來說應該是最全面最完整的備戰(zhàn)倉庫,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:文章來源:http://www.zghlxwxcb.cn/news/detail-855136.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-855136.html
如果你想學習軟件測試和需要軟件測試資料,歡迎加入扣扣交流群:731789136,里面可以免費領取軟件測試+自動化測試資料+軟件測試面試寶典+簡歷模版+實戰(zhàn)項目+面試刷題工具和大佬答疑解惑,我們一起交流一起學習!
到了這里,關于5 步輕松上手,教你從 0 到 1 落地 Jmeter 接口自動化腳本!的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!