JMeter—断言(十一)
参考《全栈性能测试修炼宝典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—断言(十一)的更多相关文章
- jmeter ---断言持续时间(Duration to Assert )和断言文件大小
jmeter ---断言持续时间(Duration to Assert )和断言文件大小 1.断言持续时间(Duration to Assert ) Duration to Assert -- 允许的 ...
- Jmeter断言、参数化及集合点
JMeter---QPS(Query Per Second) QPS为每秒查询率.是一台查询服务器每秒能够处理的查询次数,在因特网上,作为域名系统服务器的性能经常用每秒查询率来衡量.步骤:1.添加线程 ...
- JMETER断言:终极指南
你想要: 检查服务器响应是否包含特定字符串, 或验证服务器返回了HTTP 200 OK, 或者检查json字段的值(使用类似JsonPath$.store..price). 断言是要走的路. 问题是: ...
- Jmeter断言-所有断言讲解
Jmeter断言-所有断言讲解 jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中 ...
- Jmeter(二十一) - 从入门到精通 - JMeter断言 - 上篇(详解教程)
1.简介 最近由于宏哥在搭建自己的个人博客可能更新的有点慢.断言组件用来对服务器的响应数据做验证,常用的断言是响应断言,其支持正则表达式.虽然我们的通过响应断言能够完成绝大多数的结果验证工作,但是JM ...
- Fiddler+Jmeter+断言详细教程
一.Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例.会抓包的同学可以跳过这一步,当然看看也是没坏处的-- 局域网络配置 将要进行抓包的手机与电 ...
- jmeter断言:断言条件之间是“或”的关系
有时,我们在做断言时,需要同时满足一系列条件,这在jmeter自带响应断言中已经实现: 有时,同一请求在不同时间,返回的响应是不同的,而这都是正确的响应,也就是说,我们判断的条件之间是或的关系,此时, ...
- jmeter - 断言
jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似: 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致. 使用断言 ...
- Jmeter(三十一)_数据驱动,业务关联
这种数据驱动的本质是:将测试的case,参数,url,预期结果,存储于本地excel中.运行脚本时,从文件中获取预期结果,将实际结果与预期结果比较,将实际结果,比较结果,响应状态码回写excel. 一 ...
随机推荐
- Liferay7 BPM门户开发之15: Liferay开发体系简介
Liferay SDK 开发体系 主要分6种: Portlet Hook Theme Layout Templates Web Modules Ext Portlet :类似于servlet的web组 ...
- 【原创】InputStream has already been read - do not use InputStreamResource if a stream needs to be read multiple times
一.背景 基于SpringBoot 构建了一个http文件下载服务,检查tomcat access 发现偶尔出现500 状态码的请求,检查抛出的异常堆栈 2019-03-20 10:03:14,273 ...
- linux上java解加密(AES/CBC)异常:java.lang.SecurityException: JCE cannot authenticate the provider BC办法
用mapreduce做数据清洗的时候,需要对数据进行解密,加密方法是:AES/CBC/PKCS7Padding,由于java本身不支持,需要添加依赖,用的依赖是: <dependency> ...
- [每天解决一问题系列 - 0005] WiX Burn 如何校验chained package的合法性
问题描述: 项目中使用Wix burn打包,内部包含了多个MSI.有时候会遇到如下错误 Error 0x80091007: Failed to verify hash of payload: Setu ...
- OpenGL10-骨骼动画原理篇(1)
视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440 本例程展示如何建立骨骼动画,有些人叫蒙皮动画 定义如下: 当前 ...
- 用node.js写一个jenkins发版脚本
背景 每次到网页里手动发版有点烦,写个脚本来提高开发效率. CFG 在 jenkins 设置里获取 API TOKEN. 把 host 和账号密码拼接起来就可以通过鉴权. const token = ...
- Python核心编程 | 浅谈闭包的使用
1.函数的引用 >>> def test(): print('test:') >>> test <function test at 0x10ffad488 ...
- 使用 Linux 自带的 logrotate 程序来控制日志文件尺寸
1. 编写配置文件,内容如下(以 Amadeus 系统为例): 编写配置文件,放在 /etc/logrotate.d/xxxx 下,其中 xxxx 是自己取的名字,无需后缀.例如 Amadeus 系统 ...
- String 字符串中含有 Unicode 编码时,转为UTF-8
1.单纯的Unicode 转码 String a = "\u53ef\u4ee5\u6ce8\u518c"; a = new String(a.getBytes("UTF ...
- 和我一起打造个简单搜索之SpringDataElasticSearch关键词高亮
前面几篇文章详细讲解了 ElasticSearch 的搭建以及使用 SpringDataElasticSearch 来完成搜索查询,但是搜索一般都会有搜索关键字高亮的功能,今天我们把它给加上. 系列文 ...