介面測試03--WEB介面的組成要素
WEB介面的組成要素
介面地址
形式:協議://伺服器IP地址或域名:埠號/專案名稱/介面名稱
例如:http://172.166.1.1:8080/test/api/?class=tsd2107&id=1
協議:常見的協議比如HTTP、HTTPS等
HTTP為普通http請求
HTTPS加密的http請求,傳輸資料更加安全
FTP檔案傳輸協議,主要用於傳輸檔案
測試介面時,使用哪種協議,由開發決定,看需求
伺服器IP地址就是指提供介面的系統所部屬的伺服器地址
域名如www.tmooc.cn
埠號如果不填寫埠號,預設是80,否則需要填寫埠號
有時候,一臺伺服器會提供很多服務,用不同的埠號區分不同的軟體或介面
埠號是0~65535之間的整數
常見的埠號,http 80、https 443
埠號也是由開發人員確定的,但是測試人員搭建測試環境,可以修改
介面名本質上是函式名、方法名、類名、模組名、檔名
發決定介面的名字,看需求(介面文件)獲得介面名
?用於分割介面地址和引數標誌,必須是英文的(位址列中有?是GET請求)
class和id是引數名,表示給伺服器上的介面傳送資料,請求伺服器處理
&用於連結多個引數,是固定寫法,多一個引數就加一個&符號連線
/test/api/?class=tsd2107&id=1也叫路徑(URI)
URI叫統一資源識別符號,一般用來表示網址或介面中具體位置或名稱,是URL的一部分
URL叫做統一資源定位器,表示一個完整的網址或介面地址
請求方法
表示如何傳送和處理資料
常見的請求方法:
方法名稱 | 方法介紹 |
---|---|
GET | 主要用於獲取資料/查詢 |
POST | 主要用於增加、修改、刪除資源 |
PUT | 主要用於修改資源(全部更新) |
patch | 主要用於修改資源(部分更新) |
delete | 主要用於刪除資源 |
常見面試題:GET和POST方法的區別
- GET請求可以被快取,POST不可以
- GET請求會儲存在瀏覽器的歷史記錄中,POST不會
- GET請求可以被收藏為書籤,POST不會
- GET請求時,傳送資料的長度一般都有限制,POST沒有限制
- GET請求一般用於獲取資料,POST請求主要用於提交資料
- GET請求傳送的資料一般會在URL(介面地址)中,POST傳送的資料放在請求體中
- POST傳送請求一般比GET傳送請求更加安全
引數
是需要介面程式處理的資料
主要考慮引數有哪些,叫什麼名字,那些是必填引數,那些是可選引數,引數的型別,引數長度,引數的約束
返回值/響應正文
響應頭包含響應狀態碼,簡稱狀態嗎、HTTP狀態碼
響應狀態碼 | 狀態碼介紹 |
---|---|
200 | 成功響應(伺服器成功把結果發給客戶端,但是不確保結果正確性) |
301 | 永久重定向 |
302 | 臨時重定向 |
401 | 需要授權 |
403 | 客戶端錯誤,比如IP被封禁、客戶端無寫許可權、無讀許可權、客戶端證書錯誤等 |
404 | 客戶端請求的網頁檔案不存在,URL地址錯誤 |
500 | 伺服器端的錯誤,比如伺服器程式碼錯誤、伺服器重啟、伺服器關機、伺服器太忙(拒絕服務) |
響應型別有三種類型,分別是:
text/html網頁版,類似於字串
xml soap/webservice介面比較常見的響應型別
JSON型別是最常見的響應型別
響應體/響應正文是返回text/html網頁版、xml 、JSON型別內容,測試是否通過要看響應體
資料庫
如果介面涉及到寫資料,必須要驗庫
在介面測試過程中經常用於資料初始化和落庫檢查