Jmeter落地接口測試的實現(xiàn)方案
目前接口測試越來越重要,也普遍得到了各個公司的重視,通常開展接口測試的方案有:
- 代碼(java或者python),要求測試人員有基礎的編碼能力,實現(xiàn)有一定門檻。
- jmeter,絕大多數(shù)場景無需編碼,另外便于直接對接口進行性能測試(增加線程組中的線程數(shù)即可)。
- 自己研發(fā)的測試平臺,大廠秀kpi的東東,普通公司不需要玩這個。
在這里我來講解一下通過jmeter落地接口測試的方案,本文先介紹用例的設計邏輯,以及jmeter中一些相關(guān)的基礎的技術(shù)點,下一遍文章會重點介紹如何通過git和jmeter-maven-plugin插件管理jmeter接口文檔,敬請期待!
備注:本文默認讀者了解接口測試的基礎概念,能夠?qū)meter進行基礎操控。
基礎設計邏輯
應用為基礎創(chuàng)建Jmeter腳本,即.jmx文件,一個人創(chuàng)建一個jmx文件(避免不熟悉git操作的同學多人協(xié)作時產(chǎn)生沖突)
各個模塊進行細分,一個簡單控制器就是一個模塊(一個簡單控制器中可以包括多個接口),如下圖:
一個接口就是一個sampler(通常都是http類型接口),如下圖:
每個接口都需要有響應斷言來校驗接口的返回值正確性(依賴接口文檔)。
統(tǒng)一設計查看結(jié)果樹和聚合報告,用來查看接口的執(zhí)行結(jié)果。
整體用例組織結(jié)構(gòu),如下:
使用jmeter執(zhí)行基礎接口測試時,常用的知識點匯總?cè)缦拢?/p>
- 用戶自定義變量。
- 定義形式是:${變量名}。
- 例如:/url&accessToken=${access_token}。
線程組>右鍵添加>配置元件>用戶定義的變量,如下圖:
以后再次調(diào)用時就可以使用${user}。
我們也可以把變量放到配置文件中,然后讀取,具體方法如下:
線程組>右鍵添加>配置元件> CSV 數(shù)據(jù)文件設置,如下圖:
設置完成后,就可以把文件中的變量賦值給user和password了,然后腳本中就可以進行引用了。
備注:
- 再次循環(huán) True:假設csv 文件共有 10 條記錄,但是線程循環(huán)15次,執(zhí)行 10 次后,重頭開始循環(huán)。
- 停止線程 False:,如果全部取完了想繼續(xù)那就是True,如果想文件的數(shù)據(jù)用完就結(jié)束,比如注冊不可以重復用,那就設置False。
默認請求
線程組>右鍵添加>配置元件>HTTP請求默認值。
設置的好處是,請求中不需要再設置ip和端口了,有利于在不同環(huán)境中的統(tǒng)一配置。
信息頭管理器
線程組或者具體請求(作用域不同)>右鍵添加>配置元件>。
以json為例:
JSON Extractor
請求>右鍵添加>后置處理器> JSON Extractor。
例如響應:
{"status":200,"message":"","data":{"testCode":"95a9a6dfc3e5e8107523a782fc4cc55x","token":"00522794718a07fac56c7d18f2e8c9xy","refreshToken":"8e10d3a688a97bdecbb441a9590fa0zz","expires":604800}}
上圖中的token代表著變量名稱。
$.data.token 是固定寫法,表示取響應中的data值中的token內(nèi)容:
00522794718a07fac56c7d18f2e8c9xy,并把其賦值給變量token。