Jmeter之断言

这篇具有很好参考价值的文章主要介绍了Jmeter之断言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在调试生成的JMeter脚本时,可以通过使用断言的方式验证接口的返回信息是否正确,断言可以创建在任何目录下(包括测试计划、线程组、取样器),添加路径为:右键单击左侧某个菜单 - '添加' - '断言',如下图所示:Jmeter之断言

常用的断言有响应断言、JSON断言、大小断言、断言持续时间。

响应断言

用于检查任何形式的响应信息是否符合预期

  1. 右键单击取样器,添加'响应断言'

  2. 选中响应断言,在右侧窗口中可以修改响应断言的名称Jmeter之断言

  3. 在右侧窗口的'测试字段'中选择'响应文本',在'模式匹配规则'中选择字符串,点击'添加'按钮,在测试模式窗口中输入要检查的内容,比如'百度一下,你就知道',这样就会自动检查返回的响应体中是否包含这个字符串 Jmeter之断言

    Jmeter之断言

  • 响应代码(Response Code):校验响应返回的状态码,比如'200'
  • 响应信息(Response Message):校验响应代码对应的响应信息,比如'OK'
  • 响应头(Response Header):校验整个响应头的内容
  • 请求头(Request Header):校验整个请求头的内容
  • 请求数据(Request Data):校验整个请求体的数据

Jmeter之断言

Contains:返回结果包括指定的内容,支持正则表达式  

Matches:返回结果完全等于指定的内容,支持正则表达式

Equals:返回结果完全等于指定的内容,不支持正则表达式

Substring:返回结果包括指定的内容,不支持正则表达式

Not:比如希望返回结果中不包含'百度一下'这几个字

Or:右侧窗口中,可以通过点击'添加'按钮多次新增多个校验规则,默认多个规则之间是'与'的关系,即需要同时满足这些条件。

JSON断言

 返回的结果是JSON格式的数据,可以使用'JSON断言'进行校验。比如这个连接https://www.atstudy.com/api/consume/Lecturer/10021

Jmeter之断言

  1. 右键单击取样器,添加'JSON断言'

  2. 在'Assert JSON Path exists'栏中填写JSON path路径,比如'$.nickName',勾选'Additionally assert value'选项,在'Expected Value'栏中填写期望值Jmeter之断言

  3. 执行请求,这时JMeter会检查在响应的JSON字符串的根节点下的nickName节点的值是否等于'肖老师',如果验证通过,则结果树中显示正常结果,不显示断言相关信息,如下图所示 

JsonPath语法

JSON断言之所以能够读取JSON字符串中的特定信息,是因为使用了一种叫做 JsonPath的语言。JsonPath将JSON字符串当成一棵树,通过一些语法规则遍历树中的节点,常用的语法规则如下:

JsonPath 描述
$ 表示根节点
@ 当前节点
. 表示层级关系
[] 表示数据的下标
* 表示所有节点
.. 表示所有符合条件的节点
?() 表示过滤操作
{
    "id": 10021, 
    "nickName": "肖老师", 
    "avatar": "//cdn.atstudy.com/user/769b40a50d544d0988ba9f11a842c9a3.JPG", 
    "title": "测试讲师", 
    "introduction": "<p><span style=\"font-size:14px\">拥有13年软件测试从业经验,及软件测试培训经验,对大型软件系统有深厚的测试实践及管理经验。熟悉各种测试工具和测试理论,对性能测试和配置管理有深刻的认识。</span></p>
", 
    "projectExpr": null, 
    "trainingExpr": null, 
    "courses": [
        {
            "id": 1000009, 
            "courseSetId": 4, 
            "title": "性能测试与LoadRunner基础培训", 
            "icon": "//cdn.atstudy.com/course/16000754590278060.png", 
            "mode": 1, 
            "chargeMode": 2, 
            "price": "1580.00", 
            "sales": 1510, 
            "promotionPrice": null, 
            "tags": [ ], 
            "liveStartTime": 0, 
            "isLive": false
        }, 
        {
            "id": 1000010, 
            "courseSetId": 4, 
            "title": "性能测试与LoadRunner基础培训", 
            "icon": "//cdn.atstudy.com/course/16000754590278060.png", 
            "mode": 1, 
            "chargeMode": 1, 
            "price": "0.00", 
            "sales": 1510, 
            "promotionPrice": null, 
            "tags": [ ], 
            "liveStartTime": 0, 
            "isLive": false
        }
    ]
}
JsonPath表达式 含义 结果
$.title 获取根节点下title节点的值 [
"测试讲师"
]
$.courses[1] 获取根节点下courses节点的列表中第二项内容 [
{
"id": 1000010,
"courseSetId": 4,
"title": "性能测试与LoadRunner基础培训",
"icon": "//cdn.atstudy.com/course/16000754590278060.png",
"mode": 1,
"chargeMode": 1,
"price": "0.00",
"sales": 1510,
"promotionPrice": null,
"tags": [],
"liveStartTime": 0,
"isLive": false
}
]
$.courses.* 获取根节点下courses节点的所有内容 [
{
"id": 1000009,
"courseSetId": 4,
"title": "性能测试与LoadRunner基础培训",
"icon": "//cdn.atstudy.com/course/16000754590278060.png",
"mode": 1,
"chargeMode": 2,
"price": "1580.00",
"sales": 1510,
"promotionPrice": null,
"tags": [],
"liveStartTime": 0,
"isLive": false
},
{
"id": 1000010,
"courseSetId": 4,
"title": "性能测试与LoadRunner基础培训",
"icon": "//cdn.atstudy.com/course/16000754590278060.png",
"mode": 1,
"chargeMode": 1,
"price": "0.00",
"sales": 1510,
"promotionPrice": null,
"tags": [],
"liveStartTime": 0,
"isLive": false
}
]
$.courses..id 获取根节点下courses节点下所有id的值 [
1000009,
1000010
]
$..id 获取根节点下所有id的值 [
10021,
1000009,
1000010
]
$.courses[?(@.price>500)] 获取获取根节点下courses节点的列表中,满足price大于500的项的内容 [
{
"id": 1000009,
"courseSetId": 4,
"title": "性能测试与LoadRunner基础培训",
"icon": "//cdn.atstudy.com/course/16000754590278060.png",
"mode": 1,
"chargeMode": 2,
"price": "1580.00",
"sales": 1510,
"promotionPrice": null,
"tags": [],
"liveStartTime": 0,
"isLive": false
}
]

大小断言

判断响应内容的大小(字节为单位)

  1. 右键单击取样器,添加'大小断言'

  2. 选中大小断言,在右侧窗口中可以修改大小断言的名称,如下图所示:Jmeter之断言

  3. 在右侧窗口的'响应字段大小'中选择'完整响应',在'Size to Assert'中输入预期的字节大小,并选择对应的比较类型,如下图所示: 

    Jmeter之断言

Jmeter之断言

  • 响应字段大小

    响应字段大小允许用户选择校验的目标,包括:

    • 完整响应:即所有响应内容
    • 响应头:响应头的内容
    • 响应的消息体:即响应体的内容
    • 响应代码:响应的状态码,如'200'
    • 响应信息:响应状态码的信息,如'OK'

 断言持续时间

判断规定时间内是否收到响应数据,如果超时即校验失败,实际响应时间可查看结果树中的loadtime

  1. 右键单击取样器,添加'断言持续时间'

  2. 选中断言持续时间,在右侧窗口中可以修改断言持续时间的名称,如下图所示:

  3. 在右侧窗口的'断言持续时间'栏中输入持续时间(单位是毫秒),如下图所示:Jmeter之断言

Jmeter之断言

 文章来源地址https://www.toymoban.com/news/detail-407833.html

 

 

到了这里,关于Jmeter之断言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter常用断言之响应断言详解

    响应断言 是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。响应断言可以适用各种返回类型的响应结果,如:Test、html、application/json、application/xml等。 根据需要可在【测试计划】、【线程组】、

    2023年04月19日
    浏览(46)
  • Jmeter常用断言之BeanShell断言详解

    BeanShell断言可以使用beanshell脚本来执行断言检查,可以用于更复杂的个性化需求,使用更灵活,功能更强大,但是要能够熟练使用beanshell脚本 在这里除了可以使用beanshell的内置变量外,主要通过 Failure 和 FailureMessage来设置断言结果。 根据需要可在【测试计划】、【线程组】

    2024年02月02日
    浏览(44)
  • Jmeter常用断言之JSON断言简介

    JSON断言可以对服务器返回的JSON文档进行验证。 JSON断言有两种使用模式: 1.根据JSONPath能否在JSON文档中找到路径; 2.根据JSONPath提取值并对值进行验证。 结果判定 :若文档格式为非JSON则断言失败;找不到路径断言失败;提取值与预期值不一致断言失败。 根据需要可在【测试

    2024年02月05日
    浏览(41)
  • jmeter--5.断言

    目录 1. 响应断言 1.1 添加断言 1.2 名词解释 断言失败显示示例 2. json断言 2.1 添加断言 2.2 名词解释 断言失败显示示例 2.3 json断言应用 3. beanshell断言 3.1 添加断言 3.2 原理 断言失败显示示例 线程组-添加-断言-响应断言 Apply to : Main sample and sub-samples: 作用于父节点取样器及对应子

    2024年01月16日
    浏览(45)
  • Jmeter 中断言操作

    1.测试计划中添加线程组、聚合报告和查看结果树 2.在刚刚添加的线程组中添加一个HTTP请求(接口). 运行查看结果  3.右键接口在接口中添加响应断言

    2024年02月16日
    浏览(43)
  • Jmeter之断言

    在调试生成的JMeter脚本时,可以通过使用断言的方式 验证接口的返回信息是否正确, 断言可以创建在任何目录下(包括测试计划、线程组、取样器),添加路径为:右键单击左侧某个菜单 - \\\'添加\\\' - \\\'断言\\\',如下图所示: 常用的断言有响应断言、JSON断言、大小断言、断言持

    2023年04月09日
    浏览(37)
  • JMeter之响应断言

    作用:指定断言作用范围 Main sample and sub-sample:作用于主main sample和子sub-sample(如重定向时场景,一个请求下会有多个子请求) Main sample only:只作用于main sample Sub-samples only:只作用于sub-sample JMeter Variable Name to use:作用于JMeter变量 响应文本(Text Response) - 从服务器返回的响应

    2023年04月09日
    浏览(41)
  • 《吐血整理》高级系列教程-吃透Fiddler抓包教程(21)-如何使用Fiddler生成Jmeter脚本-上篇

    我们知道Jmeter本身可以录制脚本,也可以通过BadBoy,BlazeMeter等工具进行录制,其实Fiddler也可以录制Jmter脚本(而且有些页面,由于安全设置等原因,使用Jmeter直接无法打开录制时,这时就需要用到Fiddler这个专业的抓包工具了。今天宏哥就讲解一下:如何使用Fiddler生成Jmeter脚

    2024年02月14日
    浏览(77)
  • Jmeter接口测试之响应断言

    1. 断言的作用 断言用于对采样器执行 结果的检查 ,并在同一范围内的每个采样器之后进行处理。如果要对某个采样器进行断言,直接将断言添加到采样器的子集即可。 2. 为什么要用断言? JMeter以及Postman等接口测试工具,他们都是基于协议进行工作的,使用这些工具进行发

    2024年02月05日
    浏览(52)
  • Jmeter进阶使用指南-使用断言

    Apache JMeter是一个流行的开源负载和性能测试工具。在JMeter中,断言(Assertions)是用来验证响应数据是否符合预期的一个重要组件。它是对请求响应的一种检查,如果响应不符合预期,那么断言会标记为失败。 以下是如何在JMeter中使用断言的基本步骤: 添加断言 :首先,你

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包