BlazeMeter+Jmeter 搭建接口測試框架


轉載:http://www.sohu.com/a/133218497_575744

關於接口測試,筆者認為其難點分別在如下幾方面:接口參數的獲取和輸入、測試數據的准備、場景的串聯、測試結果的斷言。

接下來筆者將通過介紹 BlazeMeter+Jmeter 這兩種工具來解決以上問題。

BlazeMeter 使用方法

未使用 BlazeMeter 之前,筆者獲取接口的方法是在瀏覽器中通過 F12 獲取到地址和參數,然后將此接口的數據放置 Jmeter 中進行請求的錄制。這樣的方式耗費了大量的時間。

有了BlazeMeter 之后,我們可以在瀏覽器中模擬用戶的操作,BlazeMeter 會將所有的接口記錄下來。

筆者也曾經試過使用 BadBoy 錄制工具,此工具默認支持的是 IE瀏覽器,但是大多數系統,尤其是內部系統,對 IE 的支持都不夠友好。所以筆者選擇了支持 Chrome的 BlazeMeter 工具。

安裝方式:

1)輸入地址

 

2)操作如下

搜索欄輸入 blazemeter

點擊 ADD TO CHROME,顯示紅色的“B”表示安裝成功

BlazeMeter 的使用方式很簡單:登陸、點擊 start、停止錄制、導出.jmx,錄制完以后將 jmx 文件導入 Jmeter 中。

以下是筆者曾經在某項目中進行了的實驗及實驗結果:

Jmeter

1)測試數據的准備

解決方案:前置條件中添加初始化 sql 語句

比如此 case。在進行 Level 2審批之前,A 需要 Level 1審批通過,然后 A 的狀態會變更為待 Level 2審批,等待 Levle 2審批通過以后其狀態會變更為待 Level 3審批。所以筆者在此的解決方案為:在數據庫中直接把此渠道的狀態更新為待 Level 2審批,直接測試待 Level 2審批的接口。

使用方式:

下載 mysql-connector-java-5.1.39-bin.jar 包

右鍵測試計划 Add->Config Element->JDBC Connection Configuration,在database url 中輸入數據庫的 ip 和端口

Username 和 password ,輸入數據庫用戶名和密碼

2)場景的串聯

在 A 接口輸出是 B 接口輸入的情況下,我們需要將 A 接口和 B 接口聯合進行測試。

在這個 case 中,需要創建A,但是在創建 A 之前需要創建 B。

解決方案:先創建 B。由於 B 的參數是不能重復的,所以筆者通過 Jmeter 自帶的函數 UUID 取得一個隨機數。

接口的返回參數如下,我們需要取得接口,"result":{"categoryCode":"ABC”} 我們需要取得此接口的 result 中 categoryCode 作為創建 B 的入參

解決方案:右鍵 http 請求 Add->Post Processors->JSON PathPostProcessor

最后將 variablenames 中當做參數,通過這種方式實現接口的串聯。

3)測試結果的斷言

Jmeter 提供了多種方式的斷言,以下為筆者使用過的:

Beanshell 斷言:

這種方式主要是用於更新數據庫時,判斷數據庫的狀態是否被更新。

例如此case。A 立項拒絕,通過調用接口以后需要去判斷數據的數據是否真的更新為9(被拒絕)。筆者采用的方式是獲取數據的狀態並賦值給 result variablename。

判斷獲取狀態的值是否是9,如果不是9則此 case 測試失敗。

ResponseAssertion 斷言:

ResponseAssertion 斷言主要用於數據查詢,例如:查詢的回來數據字段包括了 SUCCESS 則測試通過。

在項目中的運用

編寫完接口以后,筆者用 ANT 打包生成 HTML 文件,把它放到 JEKINS 中。

每次開發提測時我們點擊 BUILD 查看對應的 HTML 文件,就可以把此項目中的接口測試結果開放給項目組的所有成員。以上為筆者在項目中的實際運用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM