JMeter 斷言詳解

一、JMeter 斷言有哪些

JMeter 斷言是用於驗證 Response Data 是否符合預期要求的工具,JMeter 支持多種類型的斷言,常用的有:

  • Response Assertion
  • Duration Assertion
  • JSON Assertion
  • XML Assertion
  • Size Assertion

二、JMeter 斷言持續時間

Duration Assertion 是一個基於時間的斷言,用於驗證請求的響應時間是否在指定的範圍內。該斷言通過以下設置來配置:

獲得到的響應代碼:204,500-599
Duration <=2000

在上述例子中,如果響應結果的 HTTP 狀態碼為 204 或 5xx,且響應時間小於等於 2000 毫秒,則斷言通過。

三、JMeter 斷言 JSON

JSON Assertion 用於驗證 JSON 格式的 Response Data 是否符合指定條件。該斷言支持多種驗證方式,例如斷言特定的屬性值、斷言特定鍵是否存在、斷言特定數組元素等。以下是一個 JSON Assertion 的例子:

JSON Assertion
JSON Path:$.info.status
Expected Value:200

在上述例子中,JSON Path 表示需要驗證的 JSON 屬性路徑(在這個例子中是 info.status),Expected Value 表示該屬性的期望值(在這個例子中是 200)。如果 Response Data 中的 info.status 的值等於 200,則斷言通過。

四、JMeter 斷言原件

Response Assertion 是 JMeter 中最基本的斷言類型,它對整個 Response Data 進行匹配。以下是一個 Response Assertion 的例子:

Response Assertion
Patterns to Test:
Response Code
Response Message
Response Data
Patterns to Match:
200
OK
hello world

在上述例子中,Patterns to Test 表示需要進行匹配的項(在這個例子中是 Response Code、Response Message 和 Response Data),Patterns to Match 表示需要匹配到的內容(在這個例子中是 200、OK 和 hello world)。如果 Response Data 中包含這三項內容,則斷言通過。

五、JMeter 斷言怎麼設置

在 JMeter 中設置斷言很簡單,只要按以下步驟操作即可:

  1. 選擇需要添加斷言的 Sampler。
  2. 右鍵單擊 Sampler,選擇 Add -> Assertions -> Response Assertion(或者其他需要添加的斷言類型)。
  3. 根據需要修改斷言的設置。
  4. 運行測試計劃,查看測試結果。

六、JMeter 斷言的作用

JMeter 斷言的作用是在自動化測試過程中對 Response Data 進行驗證,以確保 Response Data 符合預期要求。在測試過程中,如果沒有斷言,則無法對測試結果進行自動化驗證,無法從根本上保證測試的有效性。因此,使用斷言是自動化測試中不可或缺的一部分。

七、JMeter 斷言類型

在 JMeter 中,斷言類型非常多,可以根據測試需要選擇不同的斷言類型。常用的斷言類型包括:

  • Response Assertion
  • Duration Assertion
  • JSON Assertion
  • XML Assertion
  • Size Assertion
  • BeanShell Assertion
  • JavaScript Assertion
  • HTML Assertion
  • Cookies Assertion
  • MD5Hex Assertion

八、JMeter 斷言 JSON 數據

在 JMeter 中,JSON Assertion 可以非常方便地對 JSON 數據進行驗證。以下是一個 JSON Assertion 的例子:

JSON Assertion
JSON Path:$.data[0].name
Expected Value:John

在上述例子中,JSON Path 表示需要驗證的 JSON 屬性路徑(在這個例子中是 data[0].name),Expected Value 表示該屬性的期望值(在這個例子中是 John)。如果 Response Data 中的 data 欄位中第一個元素的 name 屬性值等於 John,則斷言通過。

九、JMeter 斷言多個結果

JMeter 中可以對多個結果進行斷言驗證,例如對 Response Data、Response Code 和 Response Message 進行同時驗證。以下是一個同時驗證多個結果的 Response Assertion 的例子:

Response Assertion
Patterns to Test:
Response Code
Response Message
Response Data
Patterns to Match:
200,201,202,204,206
OK
hello world

在上述例子中,Patterns to Test 表示需要進行匹配的項(在這個例子中是 Response Code、Response Message 和 Response Data),Patterns to Match 表示需要匹配到的內容。如果分別匹配到的結果都符合 Patterns to Match 中的條件,則斷言通過。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230250.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-10 18:15
下一篇 2024-12-10 18:15

相關推薦

  • Python常用斷言函數用法介紹

    本文將詳細介紹Python中常用的斷言函數,讓大家了解這些函數的作用及使用方法,以便於進行代碼測試和調試。 一、assertEqual函數 1、assertEqual函數是Pyth…

    編程 2025-04-27
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web伺服器。nginx是一個高性能的反向代理web伺服器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • MPU6050工作原理詳解

    一、什麼是MPU6050 MPU6050是一種六軸慣性感測器,能夠同時測量加速度和角速度。它由三個感測器組成:一個三軸加速度計和一個三軸陀螺儀。這個組合提供了非常精細的姿態解算,其…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變數讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • Java BigDecimal 精度詳解

    一、基礎概念 Java BigDecimal 是一個用於高精度計算的類。普通的 double 或 float 類型只能精確表示有限的數字,而對於需要高精度計算的場景,BigDeci…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25

發表回復

登錄後才能評論