转载作者:吾非同 来源:吾非同http://www.51testing.com/html/35/n-4463035.html?nomobile=1

什么是断言?
  断言,这是一个软件术语,简单来说,就是依靠软件程序自动判断操作结果的正确性。在接口测试中,这里的断言就是判断接口请求是否符合预期,从而判断接口用例是否执行通过。
  你应该也听过一个概念检查点,其实跟断言是一个意思,这个概念通常是在loadrunner中被使用。
  断言的使用场景?
  断言除了在接口测试中使用,性能测试,UI接口自动化测试中,我们也要用到这个功能,只是不同工具的实现方式不一样而已。记住,断言是自动化测试中最重要的绕不开的一个概念,让自己的程序尽可能像人一样去做判断,这是自动化测试需要实现的重要功能。
  如何使用jmeter断言?
  1.添加断言
  在选择的Sampler下右键添加断言,根据需要选择断言类型。注意断言的作用域。
  2.添加监听器(察看结果树或者断言结果)
  通过察看结果树查看断言是否通过,通过没有显示,失败会给出红色的提示,并给出不通过的原因。断言结果则是把失败的断言内容汇总到一起显示。
  说明:可以对同一个请求添加多个断言,多个断言属于并的操作,必须全部满足,用例才能执行通过。
  

常见jmeter的断言分类
  引入路径:请求右键->添加->断言
  

响应断言(Response Assertion)
  作用:对响应报文中所有信息都可以进行断言,包括响应的文本、响应代码、响应头等。
  APPly to(适用范围)
  Main sample and sub-samples:作用于父节点取样器及对应子节点取样器
  Main sample only:只作用于父节点取样器(一般的断言都选这个)
  Sub-samples only:只作用于子节点取样器
  JMeter Variable:只作用于jmeter变量(可写入正则提取的响应值)
  

测试字段:
  响应文本:请求的响应文本信息,不包含响应头信息。最常用的断言字段。
  文档(文本):通过Apache Tika从各种的文档中提取的文本进行验证,包括响应文本,pdf、word等等各种格式。
  响应代码:对应http返回的响应码。
  响应头:响应头信息
  URL样本: 请求url,如果有重定向包含重定向url
  响应信息:匹配响应信息,如:OK
  忽略状态(Ignore Status): 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言。
  模式匹配规则
  包括:响应的结果中包含指定的文本或者字段值,支持正则表达式
  匹配:完全匹配,期望值与实际结果必须完全一致,一般结合正则表达式使用
  相等:响应结果与指定的内容完全一致,不支持正则表达式
  字符串:返回结果,包含指定的字符串,不支持正则表达式
  否:不进行匹配
  断言持续时间(Duration Assertion)
  

断言持续时间,一般用来判断请求的响应时间是否超过我们设置时间值,大于断言失败,小于断言成功。
  大小断言(size assertion)
  

可对完整响应、响应头、响应消息体大小进行判断;
  字节大小:需要判断大小的数值,单位字节
  比较类型,与字节大小配合,限定判断的范围。
  断言结果示例
  

beanshell断言(BeanShell Assertion)
  BeanShell断言,可以使用beanshell脚本来实现请求结果的判断,适用于上述断言功能无法实现的场景,灵活高效,需要熟练使用beanshell脚本。
  可以通过beanshell的内置变量,以及 Failure 和 FailureMessage语句来设置断言结果,举例如下:
  

jmeter除了上述的几个常用的断言之外,还有json断言、xpath断言、XML断言等,大家可以根据需要进行学习。

Jmeter接口测试之断言详解相关推荐

  1. 性能测试之JMeter中JSON断言详解

    JMeter中有个元件叫做断言(Assertion),它的作用和LoadRunner中的检查点类似.用于检查测试中得到的响应数据是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 若接口的返回 ...

  2. python接口测试之requests详解_Python接口测试-requests库

    一.requests库 Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量 ...

  3. Java单元测试之JUnit4详解

    2019独角兽企业重金招聘Python工程师标准>>> Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @B ...

  4. Java基础学习总结(24)——Java单元测试之JUnit4详解

    Java单元测试之JUnit4详解 与JUnit3不同,JUnit4通过注解的方式来识别测试方法.目前支持的主要注解有: @BeforeClass 全局只会执行一次,而且是第一个运行 @Before  ...

  5. Jmeter压测工具详解

    Jmeter压测工具详解 1. Jmeter概述 1.1 Jmeter简介 1.2 Jmeter适用场景 2. Jmeter安装配置 2.1 下载安装 2.2 环境配置(可不配) 2.3 Jmeter ...

  6. 支付接口教程,详解支付宝接口(二)

    支付宝的接口向来集成过程都让人觉得比较舒服,只有APP支付相对复杂,但也只是配置上复杂一些,只要清楚原理相信也不是什么难事.下面是以前介绍双钥加密原理的传送门: 支付接口教程特别篇,公钥与私钥,双钥加 ...

  7. PHP支付接口教程,详解微信支付(二)

    PC扫码支付 扫码支付首先是要分清楚两种模式: [模式一]:商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产品标识或订单号).[模式二]:商户后台系统调用微信 ...

  8. 正则表达式零宽断言详解

    在使用正则表达式时,有时我们需要捕获的内容前后必须是特定内容,但又不捕获这些特定内容的时候,零宽断言就起到作用了. 一.基本概念: 零宽断言正如它的名字一样,是一种零宽度的匹配,它匹配到的内容不会保存 ...

  9. c# WebApi之接口返回类型详解

    c# WebApi之接口返回类型详解 https://blog.csdn.net/lwpoor123/article/details/78644998 转载于:https://www.cnblogs. ...

最新文章

  1. 代码质量第4层——健壮的代码!
  2. ie浏览器中 overflow:hidden无作用的解决方案
  3. 【转】SQL存储结构(页)
  4. python基础知识资料-Python基础知识汇总
  5. PAI分布式机器学习平台编程模型演进之路
  6. 小度智能音箱维修点_小度智能音箱APP下载
  7. sunspot 查询语法
  8. 20110128 学习记录:Datalist中的item项不自动换行而只用空格隔开
  9. oracle sequence使用多,Oracle中Sequence使用的限制
  10. LinkedList 源码小解
  11. Solr管理索引库——(十三)
  12. php 服务器 mac地址吗,php获取服务器端mac和客户端mac的地址
  13. [MySQL][Spider][VP]Spider-3.1 VP-1.0 发布
  14. 两种方法求单链表逆序
  15. 2与27日 双目视觉系统,相机标定,矫正,匹配(特征,稠密),特征提取的方法,得到视差图
  16. 计算机9针485接口,串口RS232__485的9针引脚定义
  17. 【模式串匹配】Aho-Corasick algorithm - AC字符串匹配算法实现与测试【Python】
  18. 【调剂】2022年燕山大学电气工程学院 程淑红教授“计算机视觉与人工智能”团队调剂招生信息...
  19. vue3 H5 pdf插件 iphone查看pdf失败
  20. 10bit显示器测试软件,10bit究竟是什么?10bit显示器画质更好?

热门文章

  1. 极大似然估计原理解析
  2. mysql的循环语句(循环插入数据)
  3. 六级(2020/12-2) Text2
  4. c语言中函数的介绍(血书20000字!!!!)
  5. Vue.js中的自定义指令directives
  6. directives
  7. 《卓有成效的管理者》——学习心得(四)
  8. SpeechSynthesisUtterance文字转语音播报
  9. 群聊头像 - 取前五个用户头像生成一个新的头像
  10. java线程状态——java线程状态图