jmeter提供了很多种断言,本文我就介绍下我们经常使用的响应断言!

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

(1)、应用范围Apply to : Main sample and sub-samples,Main sample only , Sub-samples only ,Jmeter Variable 一共4种

   a、关于应用范围,我们大多数勾选“,Main sample only” 就足够了,因为我们一个请求,实质上只有一个请求。但是当我们发一个请求时,可以触发多个服务器请求,类似于ajax那种,那么就有main sample  和 sub-sample之分了

   b、此外,对于有重定向的请求,并且勾选了“跟随重定向”, 那么这两个请求都是 sub-sample,重定向后的请求(第二个请求)就是main-sample
  关于Main sample and Sub samples,这里不做介绍了,有心的同学自己网上查查
(2)、响应字段: 响应文本,响应代码,响应信息,Response Headers,Request Headers,URL样本,Document(Text),Ignore Status 一共8种
    
   a、响应文本: 服务器响应文本,一般普通http响应,都勾选这个

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

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

    HTTP/1.1 200 Ok

    HTTP/1.1 302 Found
   d、Response Headers : 响应头信息,例如
    Cache-Control:private
    Connection:Keep-Alive
    Content-Encoding:gzip
    Content-Length:84

    Content-Type:text/html;charset=utf-8
    Date:Sun, 23 Jul 2017 03:08:43 GMT
    Expires:Sun, 23 Jul 2017 03:08:43 GMT
    Server:BWS/1.0
    Vary:Accept-Encoding

   e、Request Headers :请求头信息,例如    

    Accept:text/plain, */*; q=0.01
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:zh-CN,zh;q=0.8
    Connection:keep-alive
    Cookie:XXX
    Host:www.baidu.com
    Referer:https://www.baidu.com/
    User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
    X-Requested-With:XMLHttpRequest

(3)、模式匹配规则    包括、匹配、Equals、Substring、否、或者
       a、包括:返回结果包括你指定的内容,支持正则匹配    
    例如:
    响应字段为: 响应文本
    模式匹配规则:匹配
    断言为:1、success    2、[a-z]+
    当返回值为:{"msg":"login success."} , 这两个断言都是ok的,返回true
    b、匹配:   
      (1) 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同
      (2) 正则匹配 。 用正则表达式匹配返回结果,但必须全部匹配。 即正则表达式必须能匹配整个返回值,而不是返回值的一部分。
      例如:
      响应字段为: 响应文本
      模式匹配规则:匹配
      断言为:1、{"msg":"login success."}    2、\{"msg":"[a-z]+ success\."\}  , 3、[a-z]+
      当返回值为:{"msg":"login success."}   ,断言1 2 是ok的, 断言3是false
      原因是,断言1 只能用于equals,而断言3 只匹配了返回值部分,而不是全部匹配。
    c、Equals : 返回结果与你指定断言完全一致
    d、SubString:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串

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

    f、或者:这个我目前还不清楚 我基本不用

jmeter响应断言的更多相关文章

  1. jmeter --响应断言详解

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

  2. 【Jmeter基础知识】Jmeter响应断言和断言结果

    一.Jmeter创建一个响应断言 1.步骤:添加--断言--响应断,进入响应断言页面 2.断言内容:可以采用直接去搜索某些文本信息,或者可以去断言某个变量,如图 二.Jmeter创建一个断言结果 1. ...

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

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

  4. Jmeter响应断言--正则表达式判断纯数字

    如图所示,这样是匹配14位数字,如果响应是纯数字可以直接用上

  5. JMeter学习-007-JMeter 断言实例之一 - 响应断言

    之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请 ...

  6. Jmeter 快速入门教程(三-1) --添加响应断言(即loadrunner中所指的检查点)

    [版权所有: whoistester.com & jmeter.cf] 上一节课,我们创建了一个测试场景,并进行了少量vuser的负载测试. 有时候我们执行了测试,但是发现并不是所有事务都执行 ...

  7. JMeter 检查点之响应断言(Response Assertion)

    检查点之响应断言(Response Assertion)   by:授客 QQ:1033553122 JMeter断言用于对sampler(采样器)进行额外检查,且在相同作用域中,每执行完一个samp ...

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

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

  9. 接口测试工具-Jmeter使用笔记(四:响应断言)

    Jmeter中断言的类型有许多,我不在这里一一列举,只说下我用到的---响应断言. 作用:一个HTTP请求发出去,怎么判断执行的任务是否成功呢?通过检查服务器响应数据,是否返回预期想要的数据,如果是, ...

随机推荐

  1. rabbitMQ教程(二)一篇文章看懂rabbitMQ

    一.rabbitMQ是什么: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上. 学过websocket的来理解rabbitMQ应该是 ...

  2. 一个最最简易的RPC框架雏形---转载自梁飞的博客

    查阅RPC与HTTP区别的时候, 无意间发现一篇博客,内容是一个简易的RPC服务框架, 仔细一看, 不得了,博主竟然就是阿里dubbo的作者. 原文链接在此: http://javatar.iteye ...

  3. Android Binder机制详解:手写IPC通信

    想要掌握一样东西,最好的方式就是阅读理解它的源码.想要掌握Android Binder,最好的方式就是写一个AIDL文件,然后查看其生成的代码.本文的思路也是来自于此. 简介 Binder是Andro ...

  4. nginx实现请求的负载均衡 + keepalived实现nginx的高可用

    前言 使用集群是网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.这种 ...

  5. vue指令v-once示例解析

    只渲染元素和组件一次.随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过.这可以用于优化更新性能. <!-- 单个元素 --> <span v-once>This ...

  6. 用R进行文本分析初探——以《红楼梦》为例

    一.写在前面的话~ 刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细细说一会儿文本分析. 文本数据挖掘(Text ...

  7. 安卓开发中SQLite的使用(附实例)

    在Android平台上系统内置了丰富的API来供开发人员操作SQLite,我们可以轻松的完成对数据的存取.下面以我自己创建的收入信息表(InAccount)为例,来学习SQLite的使用. 主要是四个 ...

  8. css实现未知高度水平垂直居中

    页面设计中,经常需要实现元素的水平垂直居中,css实现的方法有很多(列如: margin: auto.position定位.css表达式calc().使用css预处理.table等都可以实现水平居中) ...

  9. Go语言数组的使用

    Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0 ...

  10. [H5]range对象的clone方法

    clone:range对象的克隆; <body> <p id="p">这是一段文字</p> <button onclick="b ...