2.接口測試與HTTP協議 什麼是接口測試? HTTP請求: 簡單接口測試流程 https協議代碼

什麼是接口測試?

接口(API): 用於前後端的交互的
接口的分類:



練習的項目:外賣系統
項目描述:本項目基於spring boot和vue的前後端分離技術架構。功能完善,包含:後端API、用戶H5手機端、管理員WEB端、商戶WEB端。主要功能包括:我的商鋪(賣家商鋪信息管理),食品管理(商鋪食品的常規操作),訂單管理(訂單信息管理)等

項目框架:
前端:vue.js
後端:Spring Boot
數據庫層:mysql+monggodb
數據庫連接池:Druid
緩存:Ehcache


HTTP請求:

請求報文格式:四個部分
第一部分:請求行。獨佔一行的。由:請求方法、請求路徑、請求協議/版本組成。
第二部分:請求頭。從第二行到第N行。由鍵值對 組成。可以有1對,也可以有N對。key:value
第三部分:空行。獨佔一行的。由回車換行組成。
第四部分:請求正文(請求消息體)。

常見請求頭含義:
1、User-Agent:告訴服務器客戶端的相關信息(如果是瀏覽器會有版本,內核等信息)
2、referer:告訴服務器,此請求是從哪個頁面上發出來(防盜鏈)
3、X-Requested-With:告訴服務器這個是一個ajax請求
4、Cookie:帶給服務器的cookie信息
5、content-type:告訴服務器消息體的數據類型
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml

HTTP響應報文
響應報文格式:四個部分組成
第一部分:狀態行,獨佔一行。由協議/協議的版本、狀態碼、狀態描述符組成
第二部分:響應頭,從第二行到第N行。由鍵值對組成。
第三部分:空行。獨佔一行的。由回車換行組成。
第四部分:響應的正文

常見響應頭含義:
1、location:告訴瀏覽器跳到哪裏
2、content-length:告訴瀏覽器回送數據的長度
3、content-type:告訴瀏覽器回送數據的類型


簡單接口測試流程

1、確定請求方法(post,get,put,delete)
2、確定接口url
3、請求體
4、請求頭
不需要寫頭的情況:這個接口沒有特殊的頭數據,或只要求寫content 他type
需要寫頭的情況:這個請求頭裏有其他接口(如:登錄接口)給的數據。如:token,cookies
5、響應
說明:以上數據通過接口文檔或抓包課獲取

import requests
HOST = 'http://121.41.14.39:8082' #  常量用全大寫 :協議+ip+端口+路徑
def login(data):
# 1  URL
url = f'{HOST}/account/sLogin'
# 2 請求體
payload =data
# 3 請求頭 (此處不需要)
# 4 發請求
res = requests.post(url,data=payload) # data 爲表單,json爲json
# 5 響應體
print(res.text)

if __name__ == '__main__':
  test_data={'usernane':'test001','password':'ahuy5gshcbdmappwy88'}#  password爲加密後數據
  login(test_data)

requests庫的請求類型:



請求相關信息:



https協議代碼

#https協議
HOST = 'https://120.55.190.222'
import requests
#處理https警告
requests.packages.urllib3.disable_warnings()
def login():
   #1- url
   url = f'{HOST}/api/mgr/loginReq'
   #2- 請求體
   payload = {'username':'auto','password':'sdfsdfsdf'}
   #3- 請求
   resp = requests.post(url,data=payload,verify = False)#不使用SSL
   return resp.text
if __name__ == '__main__':
   res = login()
   print(res)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章