一文2000字使用JMeter進行接口測試教程!(建議收藏)

安裝

  1. 使用JMeter的前提需要安裝JDK,需要JDK1.7以上版本
  2. 目前在用的是JMeter5.2版本,大家可自行下載解壓使用

運行

  1. 進入解壓路徑如E: \apache-jmeter-5.2\bin,雙擊jmeter.bat啟動運行

  1. 啟動后默認為英文版本,可通過Options – Choose Language – Chinese(Simplified) 設置為中文版

JMeter進行接口測試流程

1.測試計劃,可以理解為被測項目,下面可以添加一系列待測接口。

可自定義名稱,便于自己理解。

2.線程組,在測試計劃上鼠標右擊 – 添加 – 線程(用戶)- 線程組。

一個線程組可以當做一個虛擬用戶組,線程組中每個線程都可以裂解為一個虛擬用戶。這個在性能測試中會用到,接口測試暫時不用關注,默認值為1即可。

?3.HTTP請求默認值,線程組上鼠標右擊 – 添加 – 配置元件 – HTTP請求默認值

進行接口測試時需要填寫協議,IP地址及端口號,為了避免重復操作,可在線程組下添加HTTP請求默認值,填入協議、IP地址和端口號,這樣后續的HTTP請求中就不用每次都填寫了。

4.HTTP信息頭管理,線程組上鼠標右擊 – 添加 – 配置元件 – HTTP信息頭管理

如果請求參數非json格式,可以不用添加此元件。

該元件是針對傳入參數為json格式,需添加名稱為Content-Type,值為application/json

5.HTTP請求,線程組上鼠標右擊 – 添加 – 取樣器 – HTTP請求

HTTP請求主要包括請求方法、請求路徑和請求參數。

由于協議、IP地址、端口號已經在HTTP請求默認值進行了設置,所以此處可以為空。

(1)傳入非json格式的參數,可以直接在HTTP請求面板中【參數】下進行添加:填寫參數名稱與對應的值

(2)傳入json格式參數,如果參數值存在中文的情況,內容編碼需為utf-8格式,避免亂碼情況的發生

?

6.斷言,主要目的是檢查接口是否訪問成功。斷言的方式比較多,包含響應斷言、JSON斷言,大小斷言,JSR223斷言等等,一共提供15種斷言方式,一般常用的主要是響應斷言,也可以用JSON斷言。對于復雜的接口,可借助BeanShell斷言。

這里主要介紹響應斷言的用法。

HTTP請求上鼠標右擊 – 添加 – 斷言 – 響應斷言

詳情如圖:

?

Apply to 指斷言的作用范圍,一般情況下發出一個請求只觸發一個請求,所以默認勾選Main sample only即可。下面針對四種選項做個說明:

(1) Main sample and sub-samples:作用于主請求和子請求

(2) Main sample only:僅僅作用于主請求

(3) Sub-sample only:僅僅作用于子請求

(4) J Meter Variable:作用于j meter變量(輸入框填寫變量名稱)

響應字段 主要包含響應文本、響應代碼、響應信息、響應頭、請求頭、URL樣本、文檔(文本)、忽略狀態、請求狀態,下面針對每種方式做個說明:

(1) 響應文本,一般匹配返回的json數據,需要結合模式匹配規則進行校驗

?根據響應文本的測試模式”records”(*?)匹配到內容,只要包括這些內容,則判斷接口執行通過。

(2) 響應代碼,匹配返回碼,如200,404,500等

(3) 響應信息,匹配響應信息,如OK, Sucess字樣

(4) 響應頭,匹配響應頭

(5) 請求頭,匹配請求頭

(6) URL樣本,匹配請求的url鏈接,如果有重定向則包含請求url和重定向url

(7) 文檔(文本),匹配響應數據的文本格式

(8) 忽略狀態,一個請求有多個響應斷言,第一個響應斷言選中此項時,如果第一個響應斷言失敗時可以忽略此響應結果,繼續進行下一個斷言。如果下一個斷言成功則還是判定事務是成功的

(9) 請求數據,匹配請求數據

實際比較常用的是響應文本、響應代碼、響應信息,這三種還是無法滿足的則繼續補充其他字段。

模式匹配規則,有包括、匹配、相等、字符串、否、或者。

(1) 包括,響應內容包括需要匹配的內容就表示響應成功,可結合正則表達式進行

(2) 匹配,響應內容要完全匹配需要匹配的內容就表示響應成功,可結合正則表達式進行

(3) 相等,響應內容要完全等于需要匹配的內容才代表響應成功,不支持正則表達式

(4) 字符串,響應內容包含需要匹配的內容才代表成功,不支持正則表達式

(5) 否,相當于取反,如果結果是True,勾選上“否”那結果就是False

(6) 或者,可以用于將多個斷言模式進行連接,只要一個模式匹配,斷言就代表成功

測試模式,其實就是填寫自己的預期值。

7.監聽器-察看結果樹,主要用于查看接口執行情況,以樹形結構顯示接口訪問結果,包含取樣器結果、請求與相應數據。

線程組上鼠標右擊 – 添加 – 監聽器 – 察看結果樹

監聽器還包含其他形式如匯總報告、聚合報告、后端監聽器等,接口測試主要用到的就是察看結果樹。

通過察看結果樹可以了解接口執行情況,如果執行失敗需要看下錯誤信息。

?至此,使用J Meter進行常用的接口測試就結束了,實際使用過程遇到的特殊情況可以及時反饋(其實和Postman測試接口大同小異~)

總結:

感謝每一個認真閱讀我文章的人!!!

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

?

軟件測試面試文檔

我們學習必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有字節大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。

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

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

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

相關文章

IIC驅動OLED HAL庫+CubeMX

一.IIC傳輸數據的格式 1.寫操作 2.讀操作 3.IIC信號 二. IIC底層驅動 #define SCL_PIN GPIO_PIN_6 #define SDA_PIN GPIO_PIN_7#define SCL_PORT GPIOB #define SDA_PORT GPIOB/********************** 函數宏定義 **********************/ #d…

Navicat 技術指引 | 連接 GaussDB 主備版

Navicat Premium(16.2.8 Windows版或以上) 已支持對GaussDB 主備版的管理和開發功能。它不僅具備輕松、便捷的可視化數據查看和編輯功能,還提供強大的高階功能(如模型、結構同步、協同合作、數據遷移等),這…

LangChain(0.0.339)官方文檔一:快速入門

LangChain官網、LangChain官方文檔 、langchain Github、langchain API文檔、llm-universe 文章目錄 一、LangChain簡介(v0.0.338)1.1 整體框架1.2 主要組件1.2.1 Model I/O1.2.2 Retrieval1.2.2.1 RAG1.2.2.2 Retrieval 1.2.3 Chain 1.3 其它組件1.3.1 …

STM32筆記---RTC

目錄 一、RTC簡介 二、主要特性 三、功能描述 3.1 讀RTC寄存器 3.2 配置RTC寄存器 四、BKP簡介 五、RTC_Init() 1. 函數BKP_ReadBackupRegister 2.RCC_LSEConfig設置外部低速晶振(LSE) 3.RTC基本結構 5.RTC_Init()實現 6.time.h 一、R…

九州未來聯合聯通智網科技發布白皮書,促進車聯網融合發展

2023年11月21日,由2023中國5G工業互聯網大會組委會、工業和信息化部主辦,聯通智網科技承辦的2023中國5G工業互聯網大會——5G車聯網與智慧交通創新發展平行會議,在武漢成功舉辦。 九州未來作為中國聯通車聯網創新聯合體成員單位,受…

【Sql】sql server還原數據庫的時候,提示:因為數據庫正在使用,所以無法獲得對數據庫的獨占訪問權。

【問題描述】 sql server 還數據庫的時候,提示失敗。 點擊左下角進度位置,可以得到詳細信息: 因為數據庫正在使用,所以無法獲得對數據庫的獨占訪問權。 【解決方法】 針對數據庫先后執行下述語句,獲得獨占訪問權后&a…

【Leetcode合集】2824. 統計和小于目標的下標對數目

2824. 統計和小于目標的下標對數目 2824. 統計和小于目標的下標對數目 代碼倉庫地址: https://github.com/slience-me/Leetcode 個人博客 :https://slienceme.xyz 給你一個下標從 0 開始長度為 n 的整數數組 nums 和一個整數 target ,請你…

線性空間(也叫向量空間)、線性運算

線性空間、線性運算 線性空間,也稱向量空間。 假設是一個非空集合,是一個實數域。 在中定義了一個加法:即對中任何兩個元素和,總有中另外一個元素與它們相對應,稱為和的和,記作: 在定義了一個…

mac電腦系統活動監控:iStat Menus 中文 for Mac

iStat Menus是一款Mac操作系統上的系統監控工具,它提供了實時的系統狀態和性能數據,讓用戶可以方便地監控和管理自己的電腦。iStat Menus以菜單欄圖標的形式顯示各種系統指標,用戶可以輕松訪問和查看這些信息。 以下是iStat Menus軟件的一些…

debian 設置系統默認以命令行方式啟動,關閉x windows

debian 設置系統默認以命令行方式啟動,關閉x windows 2021-01-02 tech linux 設置 grub啟動設置在/etc/default/grub中,打開 default grub 配置: $ sudo vim /etc/default/grub修改以下配置: 更新grub,設置多用戶啟動: …

針對MySql知識的回顧

MySql雖然是一個相對簡單的關系型數據庫,但也是一個最常用的數據庫,也是一個非常經典的數據庫,很多云產品也是基于MySql做了二開,從而變得非常強大,其中MySql最常用的是Innodb引擎,因為該引擎支持事務&…

第14章 多線程三 (線程同步)

目錄 內容說明 章節內容 1、為什么需要多線程同步? 2、Java如何實現多線程同步?

CUDA學習筆記9——CUDA 共享內存 / Shared Memory

由于共享內存擁有僅次于寄存器的讀寫速度,比全局內存快得多。因此,能夠用共享內存訪問替換全局內存訪問的場景都可以考慮做對應的優化。 不利用共享內存的矩陣乘法 不利用共享內存的矩陣乘法的直接實現。每個線程讀取A的一行和B的一列,并計…

『Linux升級路』基礎開發工具——gcc/g++篇

🔥博客主頁:小王又困了 📚系列專欄:Linux 🌟人之為學,不日近則日退 ??感謝大家點贊👍收藏?評論?? 目錄 一、快速認識gcc/g 二、預處理 📒1.1頭文件展開 📒1…

java字符串的常見用法

java字符串的常見用法 Java中的字符串是一個非常常用的對象,它屬于Java的內置類String類的實例。字符串在Java中是不可變的,即一旦創建了一個字符串對象,就不能修改它的值。 下面是一些關于Java字符串的詳細用法: 1)創…

從零開始,用Docker-compose打造SkyWalking、Elasticsearch和Spring Cloud的完美融合

🎏:你只管努力,剩下的交給時間 🏠 :小破站 "從零開始,用Docker-compose打造SkyWalking、Elasticsearch和Spring Cloud的完美融合 前言準備工作編寫docker-compose.yml文件為什么使用本機ip為什么skywa…

代碼隨想錄-刷題第六天

242. 有效的字母異位詞 題目鏈接:242. 有效的字母異位詞 思路:哈希法。利用數組來記錄出現的字母個數,然后判斷是否為字母異位詞。 時間復雜度:O(n) class Solution {public boolean isAnagram(String s, String t) {int[] co…

【云備份】第三方庫的認識與使用

文章目錄 json庫粗略認識詳細認識writer 類reader類jsoncpp序列化實現jsoncpp反序列化實現 bundle文件壓縮庫簡單認識bundle庫實現文件壓縮bundle庫實現文件解壓縮 httplib庫Request類Response類Server類Client類 json庫 粗略認識 json是一種數據交換格式,采用完全…

激光切割設備中模組的作用有哪些?

激光切割設備是一種高精度的自動化加工設備,用于對金屬、非金屬等材料進行精確切割。直線模組作為激光切割設備的重要組成部分,在激光切割設備中起著重要的作用,為設備的運動系統提供了高精度、高穩定性和高效率的運動控制。 1、高精度的位置…

excel單元格加背景顏色不生效?

如果在 Excel 中設置單元格背景顏色而發現不生效,可能有幾個原因。以下是一些常見的解決方法: 1. **單元格鎖定:** 檢查所在單元格是否被鎖定。如果單元格被鎖定,并且工作表被保護,你可能無法更改其背景顏色。在工作表…