首页 > 其他分享 >全面了解JMeter响应断言的使用方法

全面了解JMeter响应断言的使用方法

时间:2023-08-16 18:03:42浏览次数:29  
标签:断言 包含 检查 响应 服务器 JMeter

JMeter 是一个功能强大的性能测试工具,它可以模拟大量用户并发访问网站或应用程序,以测试其性能和稳定性。在进行性能测试时,我们需要对响应结果进行断言,以确保应用程序或网站的功能和性能符合预期。

在 JMeter 中,响应断言是一种用于检查服务器响应是否符合预期的机制。JMeter 提供了多种类型的响应断言,包括文本、响应代码、响应头、响应时间等。下面将详细介绍 JMeter 中的响应断言。

响应断言类型

文本响应断言

文本响应断言是最常用的一种断言类型,它用于检查服务器响应中是否包含特定的文本。例如,我们可以使用文本响应断言来检查登录页面是否包含“用户名”和“密码”这两个关键字。如果服务器响应中不包含这些关键字,那么断言将失败。

在 JMeter 中,文本响应断言有多种选项,包括:

  • 包含/不包含:检查服务器响应中是否包含/不包含特定的文本。
  • 匹配/不匹配:使用正则表达式来检查服务器响应中是否包含/不包含特定的文本。
  • 大小写敏感/不敏感:指定断言是否区分大小写。

响应代码断言

响应代码断言用于检查服务器响应的 HTTP 状态码是否符合预期。例如,我们可以使用响应代码断言来检查登录页面是否返回 HTTP 200 状态码。如果服务器返回的状态码不是 200,那么断言将失败。

在 JMeter 中,响应代码断言有多种选项,包括:

  • 等于/不等于:检查服务器响应的 HTTP 状态码是否等于/不等于特定的值。
  • 区间:检查服务器响应的 HTTP 状态码是否在特定的区间内。

响应头断言

响应头断言用于检查服务器响应的 HTTP 头信息是否符合预期。例如,我们可以使用响应头断言来检查登录页面是否返回特定的 Content-Type 头信息。如果服务器返回的头信息不符合预期,那么断言将失败。

在 JMeter 中,响应头断言有多种选项,包括:

  • 包含/不包含:检查服务器响应的头信息中是否包含/不包含特定的值。
  • 匹配/不匹配:使用正则表达式来检查服务器响应的头信息中是否包含/不包含特定的值。
  • 大小写敏感/不敏感:指定断言是否区分大小写。

响应时间断言

响应时间断言用于检查服务器响应的时间是否符合预期。例如,我们可以使用响应时间断言来检查登录页面的响应时间是否小于 5 秒。如果服务器响应时间超过了预期,那么断言将失败。

在 JMeter 中,响应时间断言有多种选项,包括:

  • 大于/小于/等于:检查服务器响应的时间是否大于/小于/等于特定的值。
  • 百分比:指定服务器响应时间的百分比,例如 90%,并检查是否小于特定的值。

具体使用示例

添加 HTTP 接口

我们有如下的 HTTP 接口。

全面了解JMeter响应断言的使用方法_测试

添加断言

添加响应断言: 右击接口 > 添加 > 断言 > 响应断言。

全面了解JMeter响应断言的使用方法_性能优化_02

之前的接口返回的数据结果如下:

{
    "total": 3,
    "data": [
        {
            "id": 1,
            "name": "Apple",
            "price": 100
        },
        {
            "id": 2,
            "name": "Orange",
            "price": 200
        },
        {
            "id": 3,
            "name": "Banana",
            "price": 300
        }
    ]
}

我们对 响应文本中 包含字符串 “Apple” 做断言:

全面了解JMeter响应断言的使用方法_后端开发_03

我们对 HTTP 的响应码 做断言:

全面了解JMeter响应断言的使用方法_测试工具_04

断言结果

运行用例。如果响应符合断言,则什么都不会发生。否则,在结果树中会看到报错信息。将 响应文本中包含Apple 的断言值改成 Apple3,运行,就会看到如下的报错:

全面了解JMeter响应断言的使用方法_测试_05

总结

总之,响应断言是 JMeter 中非常重要的一个功能,它可以帮助我们检查服务器响应是否符合预期。在进行性能测试时,我们应该根据实际情况选择合适的断言类型,并设置合适的参数,以确保测试结果的准确性和可靠性。

更多 Jmeter 使用技巧:

标签:断言,包含,检查,响应,服务器,JMeter
From: https://blog.51cto.com/u_15964533/7111701

相关文章

  • jmeter Include Controller&Module Controller
    ***IncludeControllerinclude控制器:可理解为外部调用。用来导入外部的测试片段(非完整的测试计划),在执行时会执行导入的测试计划。被导入的测试计划有特殊要求,它不能有线程组,只能包含简单控制器及控制器件下的元件。相当于一个执行单元,一个封装了业务操作单元。调用文件测试片......
  • Jmeter 的 BeanShell
    通过BeanShell可以访问ctx、vars、props、prev、sampler、log;1.通过ctx可以访问jmeter运行时状态,比如线程数及线程状态;ctx:获取当前线程上下文数据(可获取所有信息);可以通过获取jmeterContent实例来获取运行时信息;ctx.getVariables(“变量名”):获取变量值(同vars.get())。ct......
  • Jmeter 安装自定义插件
    1.下载PluginsManager下载地址:https://jmeter-plugins.org/install/Install/2.将下载的jar包复制到JMeter中的lib\ext目录下3.打开jmeter->选项->PluginsManager->availableplugins->搜索CustomThreadGroups插件->勾选->点击ApplyChangesandRestartJmeterInstalledPl......
  • jmeter 身份证号 处理方式
    1.只要求长度,不校验规则的,直接使用jmeter自带函数${__RandomString(18,0123456789,)}2.有规则:1)python的第三方包faker写好打成.exe包,jmeter通过OS进程取样器运行获取;2)java代码实现,打成jar包,或写成jmeter函数、或Beanshell中实现。弄成函数后最好用;......
  • Jmeter 分布式压测
    ****jmeter分布式1.windows做控制机controller,linux做压测机agent;2.复制一份jmeter工具包做slave/agent ,修改 jmeter配置:jmeter.properties->server_port=1099server.rmi.localport=1099server.rmi.ssl.disable=true3.复制到目标linux机器,目录权限chmod-R755......
  • R语言VAR模型的不同类型的脉冲响应分析|附代码数据
    原文链接:http://tecdat.cn/?p=9384原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于VAR模型的研究报告,包括一些图形和统计输出。目录模型与数据估算值预测误差脉冲响应识别问题正交脉冲响应结构脉冲反应广义脉冲响应参考文献脉冲响应分析是采用向量自回归模......
  • Jmeter foreach 控制器应用
    场景:订单列表返回N个订单,需要针对N个订单进行确认操作1、订单列表接口,JSON提取器提取N个订单编号,如图 2、foreach控制器 3、beanshell前置处理器,将订单号FSO111--》替换为FMO111 ......
  • vue3 中 props 传递响应式值不会变
    vue3中通过props传递响应式值不会跟着响应式,原因为获取props的时候直接通过props.xxx来获取了,如果要保持响应式,需要手动转为响应式const{status}=toRefs(props)//orconststatus=toRef(props,'status')当组件层级比较深的时候,为避免props多级传递,可......
  • HTTP基础:学习HTTP协议的基本知识,了解请求和响应的过程
    HTTP(HypertextTransferProtocol,超文本传输协议)是一种用于传输超媒体文档(如HTML)的应用层协议,它是Web中最基本的协议。HTTP请求和响应都是由客户端和服务器之间进行的。一个完整的HTTP请求由以下几个部分组成:请求行:包括请求方法(GET、POST等)、请求的URI和HTTP协议的版本号。请......
  • jmeter详解(2)-GUI图形页面
    菜单栏 对应中文 运行里面有和远程执行相关的 选项包括外观语言、里面有日志查看的功能,SSL管理与https协议的测试相关 工具里面有函数助手及报告相关的东西,以及其他 快捷工具栏 从左到右依次为:新建、模版、打开、保存、剪切、粘贴、全部展开、全部折叠、切......