参考《全栈性能测试修炼宝典JMeter实战》第六章 JMeter 元件详解中第六节断言
断言用来对服务器的响应数据做验证,常用的断言是响应断言,支持正则表达式。

一、BeanShell Assertion
  用来访问JMeter的属性:
    log对象,可以利用此对象写日志
    SampleResult对象,从中获取响应数据、响应码等信息,只读
    Respose对象,获取响应数据,只读
    Failure,用来设置断言成功与否,Boolean类型
    FailureMessage,用来设置失败信息
    ResponseData对象,湖区响应数据
    ResponseCode,响应码
    ResponseMessage,响应信息
    ResponseHeaders,响应投信息
    RequestHeaders,请求头信息
    SampleLabel,取样器Label信息
    SamplerData,发送给服务器的数据
    Ctx (JMeterContext),JMeter上下文信息,从中可以获取线程数、线程号等信息
    Vars(JMeterVariables),获取JMeter中定义的变量,或者设置变量
   (JMeterPoperties),获取JMeter中的属性,或者设置属性
  其他几个方法:
    getResponseDataAsString:从SampleResult获取响应数据
    getResponseCode:从SampleResult获取响应消息
    getResponseMessage:从SampleResult获取响应消息

二、Compare Assertion
     比较断言,用来比较两次取样结果,支持正则表达式过滤。一般不建议使用,因为会消耗较多的资源,常用来调试。Compare Assertion与Cpmparison    Assertion Visualizer结合使用,前者进行设置,后者进行断言结果显示。

三、HTML Assertion
  HTML断言可以对HTML代码内容进行断言,支持XHTML和XML。
  在HTML断言中利用JTidy来解析HTML代码,JTidy是HTML Tidy的Java实现版本,提供了HTML的语法检查器。JTidy可以用来清除格式不好喝不对的HTML,还提供对整个HTML的DOM分析。

四、Size Assertion
  验证响应数据Size大小,主要参数说明:
    Apply to:断言应用范围
    Main sample and sub-samples:断言部分包括主Sample与子Sample
    Main sample only:断言部分仅仅是主Sample
    Sub-samples only:断言部分仅仅是子sample
    JMeter Variable:断言部分是JMeter变量
    Response Size Field to Test:那部分响应域参与断言
    Full Response:全部响应信息
    Response Headers:响应头信息,比如Http协议的头信息
    Response Body:响应主体内容部分,比如http协议HTML代码中的Body部分
    响应代码:响应代码
    响应信息:响应信息
    Size to Assert:断言时Size的阈值设置

五、XML Schema Assertion
  XML Schema,可扩展标记语言架构师以可扩展标记语言(标准通用标记语言的子集)为基础的,它用于可替代文档类型定义,一份XML schema文件描述了可扩展标记语言文档的结构。作用是定义一份XML文档的合法组建群,就像文档类型定义的作用一样,一份XML Schema定义:
    可以出现在文档里的元素
    可以出现在文档里的属性
    哪些元素是子元素
    子元素的顺序
    子元素的数量
    一个元素是否能包含文本,或应该是空的
    元素和属性的数据类型
    元素和属性的默认值和固定值

六、XML Assertion
  用来验证响应数据是正确的XML格式。

七、XPath Assertion
  对返回的XML格式信息进行断言

八、Duration Assertion
  持续时间断言,验证取样器运行测试消耗掉的时间,可以针对取样器与子取样器,时间单位是毫秒

九、响应断言
  判断返回内容中内容

十、其他断言元件
  SMIME Assertion
    对加密和签名的邮件进行断言
 

  MD5Hex
    对返回的MD5结果进行断言,使用简单,直接跳入MD5值

  JSR223断言
    规范请求,是指向JCP提出心中一个标准化技术规范的正式请求

JMeter—断言(十一)的更多相关文章

  1. jmeter ---断言持续时间(Duration to Assert )和断言文件大小

    jmeter ---断言持续时间(Duration to Assert )和断言文件大小 1.断言持续时间(Duration to Assert ) Duration to Assert -- 允许的 ...

  2. Jmeter断言、参数化及集合点

    JMeter---QPS(Query Per Second) QPS为每秒查询率.是一台查询服务器每秒能够处理的查询次数,在因特网上,作为域名系统服务器的性能经常用每秒查询率来衡量.步骤:1.添加线程 ...

  3. JMETER断言:终极指南

    你想要: 检查服务器响应是否包含特定字符串, 或验证服务器返回了HTTP 200 OK, 或者检查json字段的值(使用类似JsonPath$.store..price). 断言是要走的路. 问题是: ...

  4. Jmeter断言-所有断言讲解

    Jmeter断言-所有断言讲解 jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中 ...

  5. Jmeter(二十一) - 从入门到精通 - JMeter断言 - 上篇(详解教程)

    1.简介 最近由于宏哥在搭建自己的个人博客可能更新的有点慢.断言组件用来对服务器的响应数据做验证,常用的断言是响应断言,其支持正则表达式.虽然我们的通过响应断言能够完成绝大多数的结果验证工作,但是JM ...

  6. Fiddler+Jmeter+断言详细教程

    一.Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例.会抓包的同学可以跳过这一步,当然看看也是没坏处的-- 局域网络配置 将要进行抓包的手机与电 ...

  7. jmeter断言:断言条件之间是“或”的关系

    有时,我们在做断言时,需要同时满足一系列条件,这在jmeter自带响应断言中已经实现: 有时,同一请求在不同时间,返回的响应是不同的,而这都是正确的响应,也就是说,我们判断的条件之间是或的关系,此时, ...

  8. jmeter - 断言

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

  9. Jmeter(三十一)_数据驱动,业务关联

    这种数据驱动的本质是:将测试的case,参数,url,预期结果,存储于本地excel中.运行脚本时,从文件中获取预期结果,将实际结果与预期结果比较,将实际结果,比较结果,响应状态码回写excel. 一 ...

随机推荐

  1. Python函数学习——匿名函数

    匿名函数 匿名函数就是不需要显式的指定函数名. 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达 ...

  2. 【xsy1303】生成树 乱搞

    题目大意:给你n个点,问这n个点构成的最小标准差生成树的值 这题题解里面写的都是什么代码?? 你用O(n^4)的复杂度,枚举出两条边,然后求平均数. 对于剩下的边,我们求出这些边与平均数的差,然后求最 ...

  3. 获取CPU ID--查看CPU数量/核数

    Ubuntu 获取CPU序列号或者主板序列号 CPU ID 代码: sudo dmidecode -t 4 | grep ID ID: 54 06 05 00 FF FB 8B 0F 主板序列号 代码 ...

  4. RPC的原理总结

    一.RPC的引入 早期单机时代,一台电脑上运行多个进程,大家各干各的,老死不相往来.假如A进程需要一个画图的功能,B进程也需要一个画图的功能,程序员就必须为两个进程都写一个画图的功能.这不是整人么?于 ...

  5. Gradle学习系列之读懂Gradle语法

    转载地址: http://www.cnblogs.com/CloudTeng/p/3418072.html Gradle是一种声明式的构建工具.在执行时,Gradle并不会一开始便顺序执行build. ...

  6. Android中Enum(枚举)的使用

    简介 enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中. 创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.l ...

  7. PostgreSQL 使用小点

    1.timestamp 有分时区和无时区(减少使用),8个字节,包含日期和时间,范围是:公元前4713 - 公元294276.底层存储的是时间戳,这对任何地区的都一样,而具体时间显示则可从数据库层面设 ...

  8. Golang GC原理

    一.内存泄漏 内存泄露,是从操作系统的角度上来阐述的,形象的比喻就是“操作系统可提供给所有进程的存储空间(虚拟内存空间)正在被某个进程榨干”,导致的原因就是程序在运行的时候,会不断地动态开辟的存储空间 ...

  9. Trie(字典树)解析及其在编程竞赛中的典型应用举例

    摘要: 本文主要讲解了Trie的基本思想和原理,实现了几种常见的Trie构造方法,着重讲解Trie在编程竞赛中的一些典型应用. 什么是Trie? 如何构建一个Trie? Trie在编程竞赛中的典型应用 ...

  10. python集合操作和内置方法

    一 集合基本介绍 集合:在{}内用逗号隔开每个值,集合的特点: 每个值必须是不可变类型 集合是无序的 集合的值不能重复 集合的应用场景较少,最重要的应用场景为进行关系运算以及去重. 二 集合的操作 1 ...