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、或者:这个我目前还不清楚 我基本不用

最新文章

  1. 当Eclipse报版本低时的处理方法
  2. while 循环 。。
  3. 程序员MM的自白:磨人小妖精之安卓碎片化
  4. tensorflow + pycharm安装即相关资料
  5. Redstone 云观象台 服务器部署 - Nginx配置文件
  6. DBContext
  7. C++静态局部对象
  8. uva--11991 - Easy Problem from Rujia Liu?(sort+二分 map+vector vector)
  9. android HorizontalListView
  10. DIV 居中对齐
  11. 啥数据类型set补充、深浅拷贝与函数
  12. 为什么要重写equals和hashCode
  13. Virtual Box虚拟机Ubuntu系统安装及基本配置
  14. flask 第三章 特殊装饰器 CBV Flask-Session WTForms
  15. 知识点:Mysql 索引原理完全手册(1)
  16. tablib cell() missing 1 required positional argument: 'column' 报错
  17. c# WPF RichTextBox 文字颜色
  18. lua 日期的一些函数
  19. oracle监控资源管理器
  20. Shell-9--条件测试

热门文章

  1. (转)memcached学习笔记1(windows 7 64bit 环境下安装memcached)
  2. 【D3】cluster layout
  3. React 实践项目 (五)
  4. angular JS中使用jquery datatable添加ng-click事件
  5. Java利用内存映射文件实现按行读取文件
  6. Android的ListView
  7. 使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之二
  8. 浅谈odoo 后台与前端文件(附件)的存储与下载
  9. Python 装饰器总结
  10. 一步步学习操作系统(2)——在STM32上实现一个可动态加载kernel的"my-boot"