JMeter常用斷言方式

簡介

接口斷言是接口測試中用于驗證響應結果是否符合預期的關鍵機制,根據業務需求編寫腳本添加斷言,可驗證接口的正確性。以下內容僅記錄常用的斷言方式,多個接口都有斷言時可以使用事務控制器來隔離不同的斷言。

斷言方式

在這里插入圖片描述

1、響應斷言

1.1響應文本斷言

文本響應斷言是最常用的一種斷言類型,它用于檢查服務器響應中是否包含特定的文本。例如,我們可以使用文本響應斷言來檢查登錄頁面是否包含“checkType”和“rejectReasons”這兩個關鍵字。如果服務器響應中不包含這些關鍵字,那么斷言將失敗。

在 JMeter 中,文本響應斷言有多種選項,包括:

包含/不包含:檢查服務器響應中是否包含/不包含特定的文本。
匹配/不匹配:使用正則表達式來檢查服務器響應中是否包含/不包含特定的文本。

1.1.1 斷言匹配規則為包括

在這里插入圖片描述

1.1.2 斷言匹配規則為完全匹配

在這里插入圖片描述

1.2 響應代碼斷言

響應代碼斷言用于檢查服務器響應的 HTTP 狀態碼是否符合預期。例如,我們可以使用響應代碼斷言來檢查登錄頁面是否返回 HTTP 200 狀態碼。如果服務器返回的狀態碼不是 200,那么斷言將失敗。

在 JMeter 中,響應代碼斷言有多種選項,包括:

等于/不等于:檢查服務器響應的 HTTP 狀態碼是否等于/不等于特定的值。
在這里插入圖片描述

1.3 JSON斷言

JSON 斷言是 JMeter 中用于驗證 JSON 格式響應的一種斷言方式。該斷言允許用戶指定 JSON 路徑表達式并驗證 JSON 響應是否符合該表達式

JSON 路徑表達式介紹
JMeter 將會對響應進行 JSON 解析,并使用用戶輸入的 JSON 路徑表達式進行驗證。表達式由一系列的屬性名和數組索引組成:以 “$.” 開頭,用“.”和“[]”分隔,遇到數組,使用[下標] 。
在這里插入圖片描述
在這里插入圖片描述

1.4 BeanShell斷言

BeanShell 是一種完全符合 Java 語法規范的腳本語言。該斷言它允許用戶在 JMeter 中編寫自定義腳本。

1.4.1 響應代碼斷言

//狀態碼斷言
log.info("狀態碼:" + ResponseCode);
if(ResponseCode.equals("200")){ Failure=false;	// 表示斷言成功
}
else{Failure=true;	// 表示斷言失敗FailureMessage="響應狀態碼非200";  // 自定義的失敗信息
}

在這里插入圖片描述

1.4.2 字符串字段比較

String response = prev.getResponseDataAsString();
if(response != null){log.info("響應體:{}", response.replaceAll("(\"identity\":\")(.*?)(\")", "$1***$3")); // 調試用debug.生產環境用info.右上角感嘆號可以查看日志.對響應體的身份證字段脫敏if(response.contains("\"status\":\"pass\"")){  // 響應為JSON格式Failure = false;} else {Failure = true;FailureMessage = "status狀態!=pass";}
} else {Failure = true;FailureMessage = "響應數據為空";
}

在這里插入圖片描述

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

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

相關文章

web服務器搭建nginx

1 配置主機ip 1.1獲取主機ip ip a rootpc:/home/ruxin# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft foreve…

ubuntu ollama 遇到的若干問題

服務器原先有ollama&#xff0c;想要重裝&#xff0c;遇到一系列問題 安裝下載連接&#xff1a;https://github.com/ollama/ollama/blob/main/docs/linux.md模型下載鏈接&#xff1a;https://ollama.com/library/deepseek-r1:1.5b 一、安裝新的ollama 在root用戶下操作 1.卸…

Linux: errno: EMSGSIZE 5

最近看到一個envoy在發送UDP包時返回的錯誤:sendmsg failed with error code 5 這里的error code 5其實是,envoy自己定義的error code: case SOCKET_ERROR_MSG_SIZE:return IoErrorCode::MessageTooBig;class IoError {public:enum class

深度剖析 LNK 參數隱藏攻擊 (ZDI-CAN-25373)

1、漏洞描述 ZDI-CAN-25373 是一個 Windows 快捷方式文件(.LNK)漏洞,它允許攻擊者通過精心制作的惡意快捷方式文件來執行隱藏的惡意命令。攻擊者通過在 .LNK 文件的 COMMAND_LINE_ARGUMENTS 結構中填充大量空白字符(如空格、水平制表符、換行符等)來隱藏惡意命令。這些填…

Linux操作系統筆記3

接口管理命令&#xff1a; ip命令 字符終端 nmcli命令 字符終端 nmtui命令 可視化終端 ip命令&#xff1a; 使用 ip 命令可以配置臨時網絡的連接信息&#xff0c;相關命令如下&#xff1a; ip link&#xff1a;顯示網絡設備運行狀態 ip -s link&#xff1a;顯示更詳細的設備信…

Vue3 根據路由配置實現動態菜單

前言 最近在學習Vue3的相關語法&#xff0c;在閱讀官方文檔的時候覺得官方文檔的菜單欄比較簡潔美觀&#xff0c;于是想著能不能自己實現一個類似的多級菜單。代碼大部分由AI所做&#xff08;感謝活在這個人工智能時代&#xff09;。 設計 主要就是路由設計以及菜單設計 路…

C#中 Winform如何實現跨頁面調用

設計頁面 如下 其中Form2為啟動項 當點擊訂閱消息的時候 會創建Form1頁面 當 Form1頁面的點擊發送的時候 自動將發送的消息同步到label1中 Form2的代碼如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using S…

一個完整的Python解決方案,用于使用機器學習篩選最優模型并分析納米酶特征與Km/Vmax的相關性

以下是一個完整的Python解決方案,用于使用機器學習篩選最優模型并分析納米酶特征與Km/Vmax的相關性。代碼包含數據預處理、模型選擇、特征相關性分析和結果可視化,并附帶詳細注釋。 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn…

用python可視化南方大暴雨及洪水數據分析

用python可視化南方大暴雨及洪水數據分析 截至20250621,南方地區(特別是廣東、廣西、湖南等地)遭遇的極端暴雨和洪水災害&#xff0c;斑點魚將使用Python進行數據分析和可視化&#xff0c;展示洪水影響區域、雨勢強度以及經濟損失等情況。 數據搜集如下&#xff1a; import …

DeepSPV:一個用于從二維超聲圖像進行三維脾臟體積估算的深度學習流程|文獻速遞-最新論文分享

Title 題目 DeepSPV: A deep learning pipeline for 3D spleen volume estimation from 2D ultrasound images DeepSPV&#xff1a;一個用于從二維超聲圖像進行三維脾臟體積估算的深度學習流程 01 文獻速遞介紹 1.1 臨床背景 脾腫大&#xff0c;即脾臟增大&#xff0c;是…

PHP在做爬蟲時的解決方案

爬蟲不是一個小眾的場景,所以無論是哪個語言,都有很多相應的生態庫.這里介紹一下PHP的技術方案和代碼量。 關鍵能力 對頁面的解析能力 PHP的官方擴展中有Dom擴展,但是我建議使用electrolinux/phpquery這個庫,他相當于一個PHP版的JQ. 算上加載文件,只要三行就能獲取title標簽…

zookeeper Curator(2):Curator的節點操作

文章目錄 zookeeper 的安裝Curator 介紹Curator API 常用操作本章必要的相關依賴和配置建立連接第一種方式第二種方式 關閉連接添加節點創建節點創建節點并設置值和類型創建多級節點 查詢節點查詢數據查詢所有子節點查詢節點信息 修改節點修改節點數據修改節點(樂觀鎖修改&…

計算機視覺的定義及應用方向

近兩年來&#xff0c;機器學習、深度學習、人工智能等方向逐步成為很多同學最關注的研究和就業方向。不可否認&#xff0c;計算機視覺作為深度學習的應用領域之一&#xff0c;在工業界取得了蓬勃的發展&#xff0c;也是目前最熱門的方向之一。 計算機視覺是什么 計算機視覺主要…

低代碼開發實戰:使用活字格快速創建 Java Web API

引言 在當今快速發展的軟件開發領域&#xff0c;低代碼平臺因其高效性和易用性而備受關注。Java Web API作為企業級應用開發的重要組成部分&#xff0c;與低代碼平臺的結合能夠顯著提升開發效率。本文將以葡萄城活字格平臺為例&#xff0c;詳細介紹如何利用其低代碼特性快速創…

當后端接口返回格式不是easyui默認的格式,怎么辦

方法:可以增加一個數據過濾方法對后端的接口結構進行轉換。 分析:easyui默認情況下,只能接收如下格式的接口: {"total": 1,"rows": [{"id": 1,"userName": "jiao","unionId": 1,"phone": "2…

第一彈 AC Module: 和編程語言無關以AI為中心的自包含模塊化理念和實現

背景和問題 說起模塊/包&#xff0c;幾乎是大部分語言都有的概念&#xff0c;因為一個項目會很龐大&#xff0c;如果單純只用文件做隔離&#xff0c;文件可能幾千上萬個&#xff0c;所以需要在項目和文件之間獲得一個平衡&#xff0c;這個時候就有包和模塊的概念。比如python 你…

Edge(chrome)右鍵插件的右鍵菜單怎么設置

主要使用 contextMenus 右鍵菜單功能&#xff0c;正常用它給頁面設置右鍵菜單&#xff0c;其實它也可以給插件還有其它功能設置右鍵菜單&#xff0c;是根據 contexts 選項來設置給哪個功能設置右鍵菜單。 首先添加權限 "permissions": ["contextMenus"], …

后端設計筆記13 FM

1.理論 2.實踐 LAB 報錯以后可以雙擊錯誤&#xff0c;便可以定位到錯誤&#xff0c;或者打開pattern查看 還可以analyse

閑庭信步使用SV搭建圖像測試平臺:第十九課——YCbCr圖像轉RGB圖像

&#xff08;本系列只需要modelsim即可完成數字圖像的處理&#xff0c;每個工程都搭建了全自動化的仿真環境&#xff0c;只需要雙擊文件就可以完成整個的仿真&#xff0c;大大降低了初學者的門檻&#xff01;&#xff01;&#xff01;&#xff01;如需要該系列的工程文件請關注…

C++(智能指針)

智能指針 1.基礎&#xff1a; 1.1 概念 智能指針是用于自動管理動態分配內存的RAII&#xff08;Resource Acquisition Is Initialization&#xff09;對象。它們通過自動釋放內存來防止內存泄漏&#xff0c;是替代裸指針的安全工具。 1.2 解析 眾所周知&#xff0c;堆內存對象…