Jmeter進行http接口測試詳解

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快

本文主要針對http接口進行測試,使用 jmeter工具實現。

Jmeter工具設計之初是用于做性能測試的,它在實現對各種接口的調用方面已經做的比較成熟,因此,本次直接使用Jmeter工具來完成對Http接口的測試。

一、開發接口測試案例的整體方案

  • 第一步:我們要分析出測試需求,并拿到開發提供的接口說明文檔;
  • 第二步:從接口說明文檔中整理出接口測試案例,里面要包括詳細的入參和出參數據以及明確的格式和檢查點。
  • 第三步:和開發一起對接口測試案例進行評審。
  • 第四步:結合開發庫,準備接口測試案例中的入參數據和出參數據,并整理成csv格式的文件。
  • 第五步:結合接口測試案例文檔和csv格式的數據文檔,做接口測試案例的自動化案例開發。

二、接口自動化適用場景

目前設計的自動化接口測試案例有兩個運行場景:

1. 測試前置、開發自測:一個新的自動化接口測試案例開發完成后,直接發給接口對應的開發,安排在開發本地環境執行,一旦開發確認完成接口開發,就開始執行接口測試案例,基本上可以實時拿到測試結果,方便開發快速做出判斷。【開發本地運行的方式就是打開JMeter工具,導入JMX文件,開始執行可。】


2. 回歸測試:開發本地測試通過后,或整個需求手工測試通過后,把自動化的接口測試案例做分類整理,挑選出需要納入到回歸測試中的案例,在持續集成環境重新準備測試數據,并把案例納入到持續集成的job中來,這些用于回歸的接口測試案例需要配置到持續集成平臺自動運行。

三、接口測試環境準備

  •  Jdk1.6或以上:Java Downloads | Oracle
  •  Jmeter,下載址址:Apache JMeter - Download Apache JMeter
  •  插件的下載安裝地址:JMeter Plugins :: JMeter-Plugins.org

四、創建工程

1、打開Jmeter:下載好Jmeter后,雙擊bin目錄下的jmeter.bat文件:

2、添加線程組:在“測試計劃”上點擊鼠標右鍵-->添加-->threads(Users)-->線程組,添加測試場景設置組件,接口測試中一般設置為1個“線程數”,根據測試數據的個數設定“循環次數”。

3、添加“HTTP Cookie管理器”:

4、添加“Http請求默認值”組件,當被測系統有唯一的訪問域名和端口時,這個組件很好用:

5、在“HTTP 請求默認值”組件配置頁面,填寫被測系統的域名和端口,http請求的實現包版本以及具體協議類型,線程組里的所有“HTTP Sampler”可默認使用此設置。

6、在“線程組”里添加“HTTP 請求”的Sampler

7、在HTTP請求設置頁面,錄入被測接口的詳細信息,包括請求路徑,對應的請求方法,以及隨請求一起發送的參數列表:

8、設置檢查點:在被測接口對應的“HTTP 請求”上,添加“響應斷言”

9、在設置頁面上添加對相應結果的正則表達式存在性判斷即可:

10、添加監聽器:方便查看運行后的結果

運行結果:

上述步驟完成了一個簡單測試案例的創建,復雜測試案例均在此基礎上擴展完成。使用Jmeter工具開發的接口測試案例,一個子系統建議放在同一個?“測試計劃”中,流程測試可以通過“線程組”來區分,這樣也便于設定不同的測試數據個數。比較獨立的接口,可以統一放在一個線程組內,順序完成測試。  

流程性接口的測試:如果要測試的接口可以組成一個流程,只需要順序添加多個“HTTP 請求”的Sampler,各請求之間可以提取需要在上下文傳遞的數據作為參數,以保證流程中數據的一致性。

最后感謝每一個認真閱讀我文章的人,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走:

這些資料,對于做【軟件測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!凡事要趁早,特別是技術行業,一定要提升技術功底。

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

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

相關文章

力扣35.搜索插入位置-二分查找

class Solution:def searchInsert(self, nums: List[int], target: int) -> int:# 初始化左右指針left, right 0, len(nums) - 1# 當左指針小于等于右指針時&#xff0c;繼續循環while left < right:# 計算中間位置mid (left right) // 2# 如果中間元素等于目標值&…

為AI聊天工具添加一個知識系統 之133 詳細設計之74通用編程語言 之4 架構及其核心

本篇繼續討論 通用編程語言。 說明&#xff1a;本階段的所有討論都是圍繞這一主題展開的&#xff0c;但前面的討論分成了三個大部分&#xff08;后面列出了這一段的討論題目的歸屬關系&#xff09;-區別distinguish&#xff08;各別&#xff09;&#xff1a; 文化和習俗。知識…

PPT 技能:巧用 “節” 功能,讓演示文稿更有序

在制作PPT時&#xff0c;你是否遇到過這樣的情況&#xff1a;幻燈片越來越多&#xff0c;內容越來越雜&#xff0c;找某一頁內容時翻得眼花繚亂&#xff1f;尤其是在處理大型PPT文件時&#xff0c;如果沒有合理的結構&#xff0c;編輯和調整都會變得非常麻煩。這時候&#xff0…

劉火良 FreeRTOS內核實現與應用之1——列表學習

重要數據 節點的命名都以_ITEM后綴進行&#xff0c;鏈表取消了后綴&#xff0c;直接LIST 普通的節點數據類型 /* 節點結構體定義 */ struct xLIST_ITEM { TickType_t xItemValue; /* 輔助值&#xff0c;用于幫助節點做順序排列 */ struct xLIST_I…

Uniapp項目運行到微信小程序、H5、APP等多個平臺教程

摘要&#xff1a;Uniapp作為一款基于Vue.js的跨平臺開發框架&#xff0c;支持“一次開發&#xff0c;多端部署”。本文將手把手教你如何將Uniapp項目運行到微信小程序、H5、APP等多個平臺&#xff0c;并解析常見問題。 一、環境準備 在開始前&#xff0c;請確保已安裝以下工具…

100天精通Python(爬蟲篇)——第115天:爬蟲在線小工具_Curl轉python爬蟲代碼工具(快速構建初始爬蟲代碼)

文章目錄 一、curl是什么&#xff1f;二、爬蟲在線小工具&#xff08;牛逼puls&#xff09;三、實戰操作 一、curl是什么&#xff1f; 基本概念&#xff1a;curl 支持多種協議&#xff0c;如 HTTP、HTTPS、FTP、SFTP 等&#xff0c;可用于從服務器獲取數據或向服務器發送數據&a…

[內網安全] Windows 域認證 — Kerberos 協議認證

&#x1f31f;想系統化學習內網滲透&#xff1f;看看這個&#xff1a;[內網安全] 內網滲透 - 學習手冊-CSDN博客 0x01&#xff1a;Kerberos 協議簡介 Kerberos 是一種網絡認證協議&#xff0c;其設計目標是通過密鑰系統為客戶機 / 服務器應用程序提供強大的認證服務。該認證過…

PyTorch中的損失函數:F.nll_loss 與 nn.CrossEntropyLoss

文章目錄 背景介紹F.nll_loss什么是負對數似然損失&#xff1f;應用場景 nn.CrossEntropyLoss簡化工作流程內部機制 區別與聯系 背景介紹 無論是圖像分類、文本分類還是其他類型的分類任務&#xff0c;交叉熵損失&#xff08;Cross Entropy Loss&#xff09;都是最常用的一種損…

案例1_3:流水燈

文章目錄 文章介紹原理圖&#xff08;同案例1_2&#xff09;代碼效果圖 文章介紹 原理圖&#xff08;同案例1_2&#xff09; 代碼 #include <reg51.h> // 包含頭文件void delay(unsigned int time) {unsigned int i, j;for (i 0; i < time; i)for (j 0; j < 1…

基于物聯網技術的電動車防盜系統設計(論文+源碼)

1總體設計 本課題為基于物聯網技術的電動車防盜系統&#xff0c;在此將整個系統架構設計如圖2.1所示&#xff0c;其采用STM32F103單片機為控制器&#xff0c;通過NEO-6M實現GPS定位功能&#xff0c;通過紅外傳感器檢測電瓶是否離開位&#xff0c;通過Air202 NBIOT模塊將當前的數…

學習知識的心理和方法雜記-02

本文簡單記錄下我個人對大腦學習模式的認識。 人腦的基本能力是什么&#xff1f; 接收輸入的能力。語言和聲音 視覺圖像 觸覺 嗅覺 味覺等。 存儲能力。人腦存儲能力背后的物理化學結構我們人類目前還無法完全認知&#xff0c;但是存儲的目標物一定是人可以通過五官獲得的形…

國產化替換案例:CACTER郵件網關為Groupwise系統加固郵件安全防線

電子郵件作為企業信息流轉的命脈&#xff0c;承載著商業機密與客戶數據。然而&#xff0c;網絡攻擊手段日益復雜&#xff0c;釣魚郵件等威脅正快速侵蝕企業安全防線。據《2024年第四季度企業郵箱安全性研究報告》顯示&#xff0c;2024年Q4企業郵箱用戶遭遇的釣魚郵件數量激增至…

3.使用ElementUI搭建側邊欄及頂部欄

1. 安裝ElementUI ElementUI是基于 Vue 2.0 的桌面端組件庫。使用之前&#xff0c;需要在項目文件夾中安裝ElementUI&#xff0c;在終端中輸入以下命令&#xff0c;進行安裝。 npm i element-ui -S并在main.js中引入ElementUI 2. 使用elmentUI組件進行頁面布局 2.1 清空原…

C++并發以及多線程的秘密

1.基礎概念 并發&#xff08;Concurrency&#xff09; 并發是指在同一時間段內&#xff0c;多個任務看起來像是同時執行的。并發并不一定意味著真正的同時執行&#xff0c;它可以是通過時間片輪轉等方式在多個任務之間快速切換&#xff0c;讓用戶感覺多個任務在同時進行。并發…

從零開始實現大語言模型(十四):高階訓練技巧

1. 前言 預訓練大語言模型的流程與訓練普通神經深度網絡模型本質上并沒有任何不同。可以使用深度學習實踐中已經被證明非常有效的高階訓練技巧&#xff0c;優化大語言模型預訓練流程&#xff0c;使大語言模型預訓練效率更高&#xff0c;訓練過程更穩定。 本文介紹深度學習領域…

利用EasyCVR平臺打造化工園區視頻+AI智能化監控管理系統

化工園區作為化工產業的重要聚集地&#xff0c;其安全問題一直是社會關注的焦點。傳統的人工監控方式效率低下且容易出現疏漏&#xff0c;已經難以滿足日益增長的安全管理需求。 基于EasyCVR視頻匯聚平臺構建的化工園區視頻AI智能化應用方案&#xff0c;能夠有效解決這些問題&…

GB28181視頻監控流媒體平臺LiveGBS如何自定義收流端口區間以便減少收流端口數或解決端口沖突問題

LiveGBS GB28181流媒體服務在接收視頻的時候默認是使用30000-30249&#xff0c; webrtc流播放端口區間默認是UDP的30250-30500區間。有些網絡環境不方便開放這么大的端口區間&#xff0c;下面介紹下如何修改配置這個區間。 從頁面上修改這個區間&#xff0c;端口區間盡量設置大…

Qt:事件

目錄 處理事件 鼠標事件 鍵盤事件 定時器事件 窗口事件 雖然 Qt 是跨平臺的 C 開發框架&#xff0c;Qt 的很多能力其實是操作系統提供的 只不過 Qt 封裝了系統的 API 事件 前面學習過信號槽&#xff1a; 用戶進行的各種操作&#xff0c;就可能會產生出信號&#xff0c;可以…

責任鏈模式:優雅處理復雜流程的設計藝術

引言 在軟件設計中&#xff0c;我們經常會遇到需要按特定順序處理請求的場景。例如&#xff0c;一個訂單處理系統可能需要經過驗證、付款、物流安排和客戶通知等多個步驟。如果我們將這些步驟硬編碼在一個方法中&#xff0c;代碼將變得臃腫且難以維護。這時&#xff0c;責任鏈…

【STM32】玩轉IIC之驅動MPU6050及姿態解算

目錄 前言 一.MPU6050模塊介紹 1.1MPU6050簡介 1.2 MPU6050的引腳定義 1.3MPU6050寄存器解析 二.MPU6050驅動開發 2.1 配置寄存器 2.2對MPU6050寄存器進行讀寫 2.2.1 寫入寄存器 2.2.2讀取寄存器 2.3 初始化MPU6050 2.3.1 設置工作模式 2.3.2 配置采樣率 2.3.3 啟…