前言
接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
1、理解什么是接口
接口一般來說有兩種:一種是程序內部的接口,一種是系統對外的接口。
系統對外的接口:比如你要從別的網站或服務器上獲取資源或信息,別人肯定不會把數據庫共享給你,他只能給你提供一個他們寫好的方法來獲取數據,你引用他提供的接口就能使用他寫好的方法,從而達到數據共享的目的,比如說咱們用的app、網址這些它在進行數據處理的時候都是通過接口來進行調用的。
程序內部的接口:方法與方法之間,模塊與模塊之間的交互,程序內部拋出的接口,比如bbs系統,有登錄模塊、發帖模塊等等,那你要發帖就必須先登錄,要發帖就得登錄,那么這兩個模塊就得有交互,它就會拋出一個接口,供內部系統進行調用。
2、常見的接口
1)webService接口:是走soap協議通過http傳輸,請求報文和返回報文都是xml格式的,我們在測試的時候都用通過工具才能進行調用,測試。可以使用的工具有SoapUI、jmeter、loadrunner等;
2)http api接口:是走http協議,通過路徑來區分調用的方法,請求報文都是key-value形式的,返回報文一般都是json串,有get和post等方法,這也是最常用的兩種請求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;
3、requests接口自動化基本流程
requests?是一個用于發送 HTTP 請求的 Python 庫,它非常適合用于接口測試。以下是如何使用 requests 進行接口測試的基本步驟:
1)安裝 requests:
如果你還沒有安裝 requests,可以使用?pip?進行安裝:
pip?install?requests
2)發送 GET 請求:
-
import requests
-
response = requests.get('https://api.example.com/data') print(response.text)
3)發送 POST 請求:
import requests
data = {
'key1': 'value1',
'key2': 'value2'
}
response = requests.post('https://api.example.com/data', data=data)
print(response.text)
4)處理 JSON 數據:
如果 API 返回 JSON 數據,你可以使用 response.json() 方法將其解析為 Python 對象:
response = requests.get('https://api.example.com/data')
data = response.json()
print(data)
5)檢查響應狀態碼:
你可以檢查 HTTP 響應的狀態碼以確保請求成功:???????
if response.status_code == 200:
print("請求成功")
else:
????print(f"請求失敗,狀態碼:{response.status_code}")
6)添加請求頭:
如果需要添加自定義的請求頭,如 Authorization,可以這樣做:???????
headers = {
'Authorization': 'Bearer YOUR_TOKEN'
}
response?=?requests.get('https://api.example.com/data',?headers=headers)
7)錯誤處理:
如果請求失敗,requests 會拋出一個異常。你可以使用 try-except 結構來處理這些異常:???????
try:
response = requests.get('https://api.example.com/data')
response.raise_for_status() # 如果不是 2xx 響應,會拋出 HTTPError 異常
except requests.exceptions.HTTPError as errh:
print ("Http Error:",errh)
except requests.exceptions.ConnectionError as errc:
print ("Error Connecting:",errc)
except requests.exceptions.Timeout as errt:
print ("Timeout Error:",errt)
except requests.exceptions.RequestException as err:
print ("Something Else:",err)
最后作為一位過來人也是希望大家少走一些彎路,如果你不想再體驗一次學習時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,在這里我給大家分享一些軟件測試的學習資源,希望能給你前進的路上帶來幫助。
?視頻文檔獲取方式:
這份文檔和視頻資料,對于想從事【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!以上均可以分享,點下方小卡片即可自行領取。