当前位置: 首页 > news >正文

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.dtcms.com/a/262901.html

相关文章:

  • python crawling data
  • HTML5 实现的圣诞主题网站源码,使用了 HTML5 和 CSS3 技术,界面美观、节日氛围浓厚。
  • VR协作香港:虚拟现实技术重塑商业协作新模式
  • Jenkins Pipeline 实战指南
  • VMware vSphere 9与ESXi 9正式发布:云原生与AI驱动的虚拟化平台革新
  • Oracle 树形统计再进阶:类型多样性与高频类型分析(第三课)
  • 【无标题】LandingAi使用
  • 腾讯云实名资质 “待补充后提交” 解决方法
  • MIT 6.824学习心得(2) 浅谈多线程和RPC
  • NLP自然语言处理 01 文本预处理
  • ChatGPT、DeepSeek等大语言模型技术教程
  • (二十一)-java+ selenium-浏览器窗口句柄用法
  • 华为云Flexus+DeepSeek征文|基于 Dify-LLM 构建网站智能客服助手的实践探索
  • Adobe付费AI功能实用技巧与设计师创新思维分享
  • 青少年编程与数学 02-022 专业应用软件简介 03 三维建模及动画软件:Autodesk Maya
  • 人工智能基石:SVM支持向量机全解析(附Python实战)
  • CAU数据挖掘 支持向量机
  • 云手机主要是指什么?
  • 提示技术系列——链式提示
  • 设计模式(六)
  • C++中noexcept的具体特性及其代码示例
  • 百度文心大模型4.5系列正式开源,同步开放API服务
  • C#跨线程共享变量指南:从静态变量到AsyncLocal的深度解析
  • 网络安全等级保护(等保)全面指南
  • 国产化关系型数据库都有哪些?哪些数据库使用的频次最高?
  • MT-PXle模块【同步电压采集】16bit同步电压输入,最高32路AI
  • 分库分表之实战-sharding-JDBC
  • VLA 论文精读(二十四)ALOHA Unleashed: A Simple Recipe for Robot Dexterity
  • AIGC检测系统升级后的AI内容识别机制与系统性降重策略研究(三阶段降重法)
  • [6-02-01].第05节:配置文件 - YAML配置文件语法