响应断言 :

对服务器的响应进行断言校验

Apply to

应用范围: main sample and sub sample, main sample only , sub-sample only , jmeter variable

关于应用范围,我们大多数勾选“main sample only” 就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,可以触发多个服务器请求,类似于ajax那种,那么就有main sample 和 sub-sample之分了。此外,对于有重定向的请求,并且勾选了“跟随重定向”, 那么这两个请求都是 sub-sample,重定向后的请求(第二个请求)就是main-sample,关于main sample and sub sample,有兴趣的可以看看这个帖子:帖子

响应字段

应用范围:响应文本,Document(Text),url样本,响应代码,响应信息,Response Header,ignore status

  • 响应文本: 服务器响应文本,一般普通http响应,都勾选这个。

  • Document(Text):一切Apache Tika 支持服务器响应,包括文本响应,还支持 PDF, Office, Audio, Video formats。jmeter会用Apache Tika 去解析服务器响应内容,会很耗内存,而且也很容易解析失败。所以一般普通http请求,不要选择这个。

  • url样本:是对sample的url进行断言。如果请求没有重定向(302),那么就是这个就是请求url。 如果有重定向(且跟随重定向),那么url就包含请求url 和 重定向url

  • 响应代码:http响应代码,如101,200,302,404,501等。但当我们要验证404,501等http响应代码时,需要勾选“ ignore status”。因为当http 响应代码为400,500时,jmeter默认这个请求时失败的。

  • 响应信息:http响应代码对应的响应信息,例如:OK, Found

    HTTP/1.1 200 Ok
    HTTP/1.1 302 Found
  • Response Header : 响应头信息,例如

    Server: Tengine
    Date: Thu, 12 Mar 2015 09:43:52 GMT
    Content-Type: text/html
    Content-Length: 260
    Connection: close
    Location: http://www.baidu.com/404.html

模式匹配规则

大专栏  Jmeter接口之响应断言详解3 id="包括:返回结果包括你指定的内容,支持正则匹配">包括:返回结果包括你指定的内容,支持正则匹配

  例如:
  响应字段为: 响应文本
  模式匹配规则:匹配
  断言为:1、invalid 2、[a-z]+
  当返回值为:{"msg":"channel invalid."} , 这两个断言都是ok的,返回true

匹配:

(1) 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同

(2) 正则匹配 。 用正则表达式匹配返回结果,但必须全部匹配。 即正则表达式必须能匹配整个返回值,而不是返回值的一部分。

  例如:
  响应字段为: 响应文本
  模式匹配规则:匹配
  断言为:1、{"msg":"channel invalid."} 2、{"msg":"[a-z]+ invalid."} , 3、[a-z]+
  当返回值为:{"msg":"channel invalid."} ,断言1 2 是ok的, 断言3是false
  当返回值为:{"msg":"channel invalid."} , 断言1 3是false, 断言2才是ok的。
  原因是,断言1 只能用于equals,而断言3 只匹配了返回值部分,而不是全部匹配。

Equals : 返回结果与你指定断言完全一致

SubString:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串

  例如:
  响应字段为: 响应文本
  模式匹配规则:匹配
  断言为:1、invalid 2、[a-z]+
  当返回值为:{"msg":"channel invalid."} , 断言1返回true, 但断言2返回false
  否:就相当于取反。 如果上面断言结果为true,勾选“否”后,最终断言结果为false。如果上面断言结果为false,勾选“否”后,则最终断言结果为 true。

Jmeter接口之响应断言详解的更多相关文章

  1. Jmeter笔记:响应断言详解

    转自:http://www.51testing.com/html/80/n-2430180.html 平时我们使用jmeter进行性能测试时,经常会用到断言.jmeter提供了很多种断言,本来想全都写 ...

  2. 【转】Jmeter笔记:响应断言详解

    平时我们使用jmeter进行性能测试时,经常会用到断言.jmeter提供了很多种断言,本来想全都写一下,但发现每一个断言里面的东西都很多,所以就先写一下我们经常使用的响应断言. 第一次在cnblog上 ...

  3. jmeter --响应断言详解

    jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...

  4. 『动善时』JMeter基础 — 29、JMeter响应断言详解

    目录 1.JMeter断言介绍 2.响应断言组件界面详解 3.响应断言组件的使用 (1)测试计划内包含的元件 (2)登陆接口请求界面内容 (3)响应断言界面内容 (4)查看运行结果 (5)断言结果组件 ...

  5. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  6. python+requests接口自动化测试框架实例详解

    python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

  7. OpenCV学习C++接口 Mat像素遍历详解

    OpenCV学习C++接口 Mat像素遍历详解

  8. 微信JS接口汇总及使用详解

    这篇文章主要介绍了微信JS接口汇总及使用详解,十分的全面.详尽,包含分享到朋友圈,分享给朋友,分享到QQ,拍照或从手机相册中选图,识别音频并返回识别结果,使用微信内置地图查看位置等接口,有需要的小伙伴 ...

  9. “全栈2019”Java第六十五章:接口与默认方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. UML-如何使用层进行设计?

    1.将代码组织映射为层和UML包 com.mycompany |_nextgen |_ui |_domain |_service |_util org.apache.log4j  2.使用对象设计应用 ...

  2. ZJNU 1699 - Bits

    可得应当优先寻找最大的2^n-1这个数 如果l的位数不等于r的位数,那么这个数 2^n-1 就是最优解(每一位全为1) 如果l和r的位数相同,先看r是否符合 2^n-1,符合直接返回,不符合的话拆除最 ...

  3. JavaScript学习笔记 - 进阶篇(3)- 流程控制语句

    if语句 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位,如果你会HTM ...

  4. 数据处理——One-Hot Encoding

    一.One-Hot Encoding     One-Hot编码,又称为一位有效编码,主要是采用位状态寄存器来对个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效.     在实 ...

  5. 3.windows-oracle实战第三课 -表的管理

    oracle的核心 多表查询.存储过程.触发器  字符型: char  定义 最大2000字符,例如“char(10)  '小韩' 前4个字符放小韩,后添加6个空格补全,查询极快 varchar2(2 ...

  6. TPO5-3 The Cambrian Explosion

    At one time, the animals present in these fossil beds were assigned to various modern animal groups, ...

  7. Kruskal算法详解

    本章介绍克鲁斯卡尔算法.和以往一样,本文会先对克鲁斯卡尔算法的理论论知识进行介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现. 最小生成树 在含有n个顶点的连通图中选择n-1条边, ...

  8. Matlab高级教程_第二篇:Matlab相见恨晚的模块_02_并行运算-关于parfor的问题

    1 我们知道MATLAB支持并行运行一般有四种模式: 第一种模式:本机调用多核CPU性能并行运算 第二种模式:本机调用GPU性能并行运算 第三种模式:多计算机组成集群,调用集群CPU性能并行运算 第四 ...

  9. 导入import的多种形式

    参考资料:anaconda官方资料 一.module(模块) 比如fibo是个模块(.py文件),其中有fib.fib2等函数 第一种形式:import fibo 在当前的符号表中,这并不会直接进入到 ...

  10. Ubuntu中Unable to acquire the dpkg frontend lock解决方案

    根据百度总结三种方式:第三种解决了我的问题 1. ps -e|grep apt-get 结果:6965 ? 00:00:01 apt-get 执行:sudo kill 6965 #强制解锁,会删除文件 ...