什么是接口測試,接口測試到底如何開展,我相信任何一個軟件測試人員都會有這樣的疑問,
這里我以接口測試自動化平台的登錄接口進行講解。
一、什么是接口測試?
接口測試是測試系統組件間接口的一種測試。接口測試主要用於檢測外部系統與系統之間以及內部各個子系統之間的交互點。
測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。--------->摘自百度百科
通俗的講,就是對人扒了皮之后對這個人進行檢測,可以直觀的看心臟跳不跳動,而不再是依靠聽啊或者脈搏來判斷心臟是否
在跳動。對應到程序上來講的話,就是不需要再UI上進行點擊來猜測這個數據能否調通,可以直接通過接口返回直觀的看到數據是
否已調通。
二、接口測試的好處
2.1、前后端bug分離,更好的將問題指定給對應的開發人員
2.1、縮短項目周期,接口測試可以在開發給出對應的接口后就能夠進行測試,理論上來說,開發好一個接口,就可以測試一個
接口,減少聯調的時間,后期進行功能測試的時候只需要對應前端開發人員即可
三、接口測試如何開展
3.1、優良的接口文檔
3.2、接口測試工具
這里我用到的接口測試工具是JMeter
首先說明一下什么是優良的接口文檔:優良的接口文檔必定具有兩個特性,可讀性和可執行性。對於接口文檔來說,我們必定會
在里面看到接口的定義(包含:入參、出參、請求方式、調用地址、接口的業務關聯關系)。如果沒有接口文檔,公司又要求我們需要
做接口自動化,那么這時候怎么辦?
因此呼應題中的Charles ,來抓包對接口進行分析,再將其維護至JMeter中
四、如何使用JMeter
4.1、下載jmeter壓縮包,下載地址:https://jmeter.apache.org/download_jmeter.cgi
4.2、解壓縮,並在並目錄點擊jmeter.bat打開jmeter,如下圖所示
打開后的jmeter界面為:
4.3、jmeter需要依賴java環境,我們需要安裝jdk,這里我安裝的jdk1.8,至於jdk的環境變量配置請自行百度
4.4、Charles抓包分析接口
4.4.1、安裝Charles,按照提示一步一步對照安裝即可
4.4.2、打開Charles,打開界面如下圖所示:
4.4.3、在瀏覽器中輸入你所需的項目路徑,並進行操作,這是你會發現,你的操作中的請求會被Charles截取到,如下圖所示:
對於截取的到數據,我們有四個地方比較重要,如上圖紅框圈出的地方,最左側為接口總請求,右側上方並排三個紅框,分別為接口調用地址、接口
入參、接口出參,如果對接口進行功能性測試,我們需要調用地址、入參和出參與接口文檔保持一致。
4.4.3.1、我們先分析一下上圖中的overview內容,我們需要的部分如下圖所示:
這三種我們需要將其維護至JMeter中
4.4.3.2、分析Request部分,也就是接口請求部分,如下圖所示:
4.4.3.3、分析Response,也就是接口返回部分,如下圖所示:
至此,對於抓包的數據我們分析完畢,那么怎么將其維護至JMeter中呢?
4.5、打開jmeter,在測試計划中添加線程組,如下圖所示:
在測試計划中添加http信息頭管理器,如下圖所示:
4.5.1、在http信息頭管理器中,添加之前抓包數據中說的請求信息頭中信息,如下圖所示:
4.5.2、在線程組下面添加http請求,如下圖所示:
4.5.3、接口中的調用地址、入參如何寫入jmeter中呢,如下圖所示:
塗鴉部分為實際用戶名和密碼
溫馨提示:該界面的數據與抓包中的數據結合使用
4.5.4、在線程組中添加查看結果樹,如下圖所示:
4.5.5、執行JMeter腳本,並查看執行結果,如下圖所示:
至此:JMeter和Charles進行接口測試便完成了,如有不明確的地方可以留言,或者加QQ群775129837交流