接口測試相關知識
接口定義
我們常說的接口一般指兩種:
- API:應用程序編程接口豺裆。程序間的接口波岛;
- GUI:圖形用戶界面您市。人與程序的接口碱蒙;這里我們所說的接口特指API接口挪凑。
API接口定義:對協議進行定義的引用類型孕索。
開發(fā)人員分前后端,他們之間如何配合工作的躏碳,就是其中一方定義接口搞旭,另一方來調用接口,以實現預期功能。
常見接口分類
- restful webservice接口
- Soap Webservice接口
WebService接口是走soap協議肄渗,請求報文和返回報文都是xml格式镇眷,通過SoapUI工具進行測試;restful webservice接口走HTTP協議翎嫡,通過路徑來區(qū)分調用的方法欠动,請求報文入參有多種形式,返回報文一般為json串惑申,最常見的是get和post請求方法具伍。
為什么要進行接口測試
- 接口測試必要性
當今的系統復雜度不斷上升,傳統的測試方法成本急劇增加且測試效率大幅下降圈驼,所以就要做接口測試人芽。同時,接口測試相對容易實現自動化持續(xù)集成绩脆,且相對UI自動化也比較穩(wěn)定啼肩,可以減少人工回歸測試人力成本與時間,縮短測試周期衙伶,支持后端快速發(fā)版需求祈坠。接口持續(xù)集成是為什么能低成本高收益的根源。現在很多系統前后端架構是分離的矢劲,從安全層面來說赦拘,只依賴前端進行限制已經完全不能滿足系統的安全要求(繞過前面實在太容易), 需要后端同樣進行控制芬沉,在這種情況下就需要從接口層面進行驗證躺同。前后端傳輸、日志打印等信息是否加密傳輸也是需要驗證的丸逸,特別是涉及到用戶的隱私信息蹋艺,如身份證,銀行卡等黄刚。
- 接口測試原理
模擬客戶端向服務器發(fā)送請求報文捎谨,服務器接收請求報文后對相應的報文做處理并向客戶端返回應答,客戶端再接收應答的一個過程憔维。
- 接口測試范圍
接口的功能涛救、性能、安全性业扒。重點關注數據的交換检吆,傳遞和控制管理過程,還包括處理的次數程储。
接口測試對象是接口蹭沛,但隨著系統復雜度越來越高臂寝,接口越來越多,完全覆蓋是一件很困難的事情摊灭。通常情況下主要測試最外層的兩類接口:數據進入系統的接口(調用外部系統的參數為本系統使用)交煞、數據流出系統接口(驗證系統處理后的數據是否正常)
學會看接口文檔
- 接口說明
- 調用的url
- 請求方法(get、post)
- 請求參數斟或,參數類型、請求參數說明
- 返回參數說明
- 返回示例
postman使用簡介
postman用戶界面介紹
- Sidebar側邊欄
Postman側邊欄允許你查找集嵌、管理請求和集合萝挤。側邊欄分為兩個主要的選項卡,包括歷史和集合選項卡根欧。 可以拖動右邊的邊來調整側邊欄的寬度怜珍。側邊欄也可以隱藏到小屏幕(標題欄 view—>toggle side bar)。
(1)歷史選項卡 :通過Postman應用程序發(fā)送的每個請求都保存在側邊欄的History選項卡中凤粗。
(2)集合選項卡 :在側欄中創(chuàng)建和管理集合選項卡的集合酥泛。 - Header Bar
Postman的頂部工具欄包含以下選項:
(1)新建按鈕——可以新建請求,集合嫌拣,環(huán)境等
(2)運行按鈕-打開集合運行頁面
(3)導入按鈕——導入Postman文件柔袁、文件夾、form link等
(4)新窗口圖標-打開一個新的tab頁异逐、新的窗口捶索、新的runner等
(5)構建器和團隊庫選項卡——在請求生成器和Team Library視圖之間切換
(6)抓取API請求圖標——使用postman抓取API請求
(7)同步狀態(tài)圖標——同步API請求圖標
(8)用戶下拉——管理集合鏈接和你的個人資料或登錄/登出,你的Postman帳戶
(9)開放API集合(點擊打開一個網址)
(10)通知圖標-接收通知或廣播
(11)設置圖標——管理Postman應用程序設置灰瞻,并找到其他支持資源
(12)?——分享按鈕 - Builder
Postman通過選項卡布局腥例,用于在構建器中發(fā)送和管理API請求。上半部分是請求構建器酝润,下半部分是響應查看器燎竖。
(1) Cookies——管理cookie模式是通過點擊cookie鏈接訪問的。該特性允許你管理與請求相關的cookie要销。
(2) Code——生成的代碼片段模式通過保存按鈕下面的最右邊的Code鏈接构回。該特性允許你生成與請求相關的代碼片段,該請求支持20多種語言(http疏咐、java捐凭、go等語言)
postman優(yōu)點
- 支持對接口測試用例進行管理
- 支持get、post凳鬓、文件上傳茁肠、響應驗證、環(huán)境參數管理
- 支持批量運行接口測試用例
- 支持接口測試用例導入導出
- postman能別人所不能缩举,可以針對線上線下測試環(huán)境同一個數據進行測試
借助potsman完成接口測試(以post請求方式作為示例)
- POST 請求
步驟:建立請求集合—搭建環(huán)境—選擇請求方法(post)—輸入請求地址—輸入請求參數—點擊send按鈕——選擇響應格式—用測試響應的內容跟接口文檔對比查看返回的參數是否一致 -
建立接口請求集合
image.png - 搭建環(huán)境(接口請求記得選擇環(huán)境)
點擊右上角設置圖標垦梆,進入管理環(huán)境界面
image.png
圖中的VARIABLE
是變量名稱的意思匹颤,INITIAL VALUE
是變量的初始值,CURRENT VALUE
是現在值的意思托猩。當三個值輸入完成時印蓖,點擊圖中的Add
按鈕就添加進去了; 再次修改就會出現Updata
京腥;{{mobile_test}}
引用變量赦肃。 -
post請求示例
image.png - 選擇請求方式和輸入請求地址,輸入請求參數和值,根據實際情況選擇上傳格式(from-data,raw等),Header一般情況不用填寫key和value,但是某些接口把token放在header,這種情況下就得把token和值填入進去。
- from-data:以表單的形式提交,將表單的數據處理為一條消息,以標簽為單元公浪,用分隔符分開他宛。
- x-www-form-urlencoded:以表單的形式提交,將表單內的數據轉換為鍵值對,key1=value&key2=value。
- raw:可以上傳任意格式的文本欠气,可以上傳text厅各、json、xml预柒、html等队塘。
- binary:上傳文件,Excel,txt,word等。
- 根據傳參進行設計接口測試用例宜鸯,各種異常正常的傳參方式都要進行測試憔古,查看返回數據是否與接口文檔一致。