從0到1詳解requests接口自動化測試

前言

接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。

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 請求:

  1. import requests

  2. 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)

最后作為一位過來人也是希望大家少走一些彎路,如果你不想再體驗一次學習時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,在這里我給大家分享一些軟件測試的學習資源,希望能給你前進的路上帶來幫助。

?視頻文檔獲取方式:
這份文檔和視頻資料,對于想從事【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!以上均可以分享,點下方小卡片即可自行領取。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/web/94587.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94587.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94587.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux系統操作編程——http

萬維網www萬維網是一個大規模的、聯機式的信息儲藏所 ,實現從一個站點鏈接到另一個站點萬維網服務器后臺標記萬維網數據方式:url:統一資源定位符萬維網客戶端與萬維網服務器的通信方式:HTTP:超文本傳輸協議萬維網客戶端…

Langchian-chatchat私有化部署和踩坑問題以及解決方案[v0.3.1]

文章目錄一 langchain-chatchat項目二 本地私有部署2.1 源碼下載2.2 創建虛擬環境2.3 安裝Poetry2.4 安裝項目依賴2.5 初始化項目2.6 修改配置信息2.7 初始化知識庫2.8 啟動服務三 問題和解決方法3.1 poetry和packaging版本兼容性3.2 Langchain-chatchatPDF加載錯誤分析[win平臺…

Day3--HOT100--42. 接雨水,3. 無重復字符的最長子串,438. 找到字符串中所有字母異位詞

Day3–HOT100–42. 接雨水,3. 無重復字符的最長子串,438. 找到字符串中所有字母異位詞 每日刷題系列。今天的題目是力扣HOT100題單。 雙指針和滑動窗口題目。其中438題踩了坑,很值得看一下。 42. 接雨水 思路: 每個位置i&#x…

Kafka Broker 核心原理全解析:存儲、高可用與數據同步

Kafka Broker 核心原理全解析:存儲、高可用與數據同步 思維導圖正文:Kafka Broker 核心原理深度剖析 Kafka 作為高性能的分布式消息隊列,其 Broker 節點的設計是支撐高吞吐、高可用的核心。本文將從存儲結構、消息清理、高可用選舉、數據同步…

RTTR反射機制示例

1. Person類型頭文件 #ifndef PERSON_H …

計數組合學7.21(有界部分大小的平面分拆)

7.21 有界部分大小的平面分拆 本節的主要目標是在 q1q 1q1 的情況下細化定理 7.20.1,通過限制平面分拆 π∈P(r,c)\pi \in P(r, c)π∈P(r,c) 的最大部分的大小。例如,考慮特殊情況 r1r 1r1,此時 π\piπ 只是一個不超過 ccc 個部分的普通分…

Product Hunt 每日熱榜 | 2025-08-26

1. Trace 標語:人類與人工智能的工作流程自動化 👾 介紹:一個工作流程自動化平臺,將任務分配給合適的處理者——無論是人類還是人工智能。通過連接像Slack、Jira和Notion這樣的工具,Trace能夠拆解現有工作流程&#…

llama.cpp reranking源碼分析

大模型時代,reranker一直是提高RAG有效性的重要工具。相對于初篩階段向量檢索,精排階段的reranker需要query和每個候選document做相關計算。初篩已經將候選documents限制在一個相對較小范圍,但依然要進行大量的相關性計算。 llama.cpp是廣泛…

ruoyi-vue(十二)——定時任務,緩存監控,服務監控以及系統接口

一 定時任務 1、 定時任務使用 1.1 概述 在實際項目開發中Web應用有一類不可缺少的,那就是定時任務。 定時任務的場景可以說非常廣泛,比如某些視頻網站,購買會員后,每天會給會員送成長值,每月會給會員送一些電影券&…

spring如何通過實現BeanPostProcessor接口計算并打印每一個bean的加載耗時

文章目錄實現說明:注意事項:要在Spring中通過BeanPostProcessor接口計算并打印每個Bean的加載耗時,我們可以利用該接口的兩個回調方法記錄Bean初始化前后的時間戳,然后計算時間差。 以下是實現方案: 首先創建一個實現B…

“品種+創新銷售”,恩威醫藥半年度業績翻倍增長

8月25日晚,恩威醫藥發布2025年半年度報告,報告期內,公司實現營業收入4.49億元,同比增長15.73%,歸屬于上市公司股東凈利潤達3834.42萬元,同比增幅113.80%,扣除非經常性損益凈利潤為3527.57萬元&a…

【機器學習】機器學習算法

機器學習1、K-近鄰算法KNN1.1、舉例:電影類型分析1.2、KNN算法流程1.3、Scikit-learn工具1.4、K-近鄰算法API1.5、距離度量1.5.1、歐式距離Euclidean Distance🔥1.5.2、曼哈頓距離Manhattan Distance🔥1.5.3、切比雪夫距離Chebyshev Distance…

python-批量安裝庫

要將當前環境中已安裝的Python庫列表導出為一個可重用的格式(通常為requirements.txt),以便在另一個環境中再現這些庫的安裝,可以使用pip工具提供的功能。以下是具體步驟:### 使用pip freeze1. **打開命令提示符或終端…

創龍3576ububuntu系統設置靜態IP方法

創龍3576ububuntu系統設置靜態IP方法,執行命令進入"/etc/systemd/network/"目錄,請根據實際網絡環境,下面演示修改 eth0.network 網口靜態ip為192.168.1337.200執行:vim /etc/systemd/network/eth0.network 增加一句&am…

MySQL - 視圖,事務和索引

目錄一、視圖1. 問題2. 視圖是什么3. 定義視圖4. 查看視圖5. 使用視圖6. 刪除視圖7. 視圖的作用二、事務1. 定義2. 事務命令1)回滾2)提交3)臟寫、臟讀、不可重復讀和幻讀三、索引1. 定義2. 索引是什么3. 索引目的4. 索引原理5. 索引的使用6. …

車載鐵框矯平機:把“鈑金診所”開到工地上

——一次從原子層面開始的平整之旅一、先想一想:鐵框為什么“脾氣大” 鋼板在軋制、切割、焊接、吊裝、甚至太陽暴曬時,內部晶粒被拉得七扭八歪,像揉皺的紙。宏觀上,我們就看到“翹、拱、扭”。矯平,實質上是給金屬做一…

不安全的服務器,不支持 FTP over TLS

當服務器不支持 FTP over TLS(也稱為 FTPS)時,意味著它僅支持未加密的 FTP 連接。這種情況存在顯著的安全風險,因為:數據傳輸不加密:用戶名、密碼以及傳輸的文件內容都會以明文形式在網絡中傳輸&#xff0c…

本地緩存與 Redis 緩存的區別與實際應用

緩存是提升系統性能、降低數據庫壓力的重要手段。Java 開發中常用的緩存方案包括 ?本地緩存(如 Caffeine、Guava Cache)?? 和 ?分布式緩存(如 Redis)?。這兩者在設計目標、使用場景、性能特點等方面有顯著差異,合…

從“0”開始學JAVA——第十一節 I/O流

在Java編程中&#xff0c;文件操作和輸入輸出(IO)處理是必不可少的部分。本文將深入探討Java IO包中的文件流操作&#xff0c;包括基礎概念、分類、常用類以及實際應用場景。1. File類File類是Java IO操作的基礎&#xff0c;它實現了Serializable和Comparable<File>接口。…

【數據價值化】數據資產入表指南:核心準則與實操路徑

隨著數據要素市場的蓬勃發展&#xff0c;數據資產的商業價值愈發凸顯。然而&#xff0c;如何讓數據資產合規、合理地進入企業財務報表&#xff0c;成為眾多企業急需解決的難題。本文基于《企業會計準則》的相關規定&#xff0c;為您系統梳理數據資產入表的核心準則要點與實操路…