Jmeter之断言——检查点
Jmeter里的断言相当于lr中的检查点。用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。
使用断言的目的:在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。
使用断言的方法:
△在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。
△添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言;对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;
如果失败,则除了请求的名称外,还会有一行失败的原因(不同类型的断言,结果不同)。
PS:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。
目前最新版本5.1.1版本里有13个断言:
1、响应断言
这里介绍下模式匹配规则:
包括:返回结果包括你指定的内容
匹配:(好像跟Equals查不多,弄不明白有什么区别)
Equals:返回结果与你指定结果一致
Substring:返回结果是指定结果的字串
否:不进行匹配
要测试的模式:即填写你指定的结果(可填写多个),按钮【添加】、【删除】是进行指定内容的管理
#案例:百度搜索:哈哈 的请求。
1)测试模式填写了两个如下【值匹配成功】
查看结果树可以看到,请求成功,则说明响应数据里包含这两个数据。
2)填写两个响应数据里没有的数据,【值匹配失败】如下:
查看结果树,查看断言失败了,并且提示没有该匹配数据。
总结:一般如何没有断言错误,则可以证明该请求成功了,这里的断言作用和lr里的检查点是一样的。
2、json断言
参数:
Assert JSON Path exists : $.后面添加你想要检查的json字段。
Addittionally assert value: 是否添加断言值, 添加的断言值和json返回的字段值进行比较,等于特定的值。
Match as regular expression: 是否支持正则表达式。
Expected Value: 添加断言值。
Expect null: 预期空值,勾选这项,则会匹配断言结果为null的情况。
Invert assertion : 取反,若上述断言结果为true,勾选此项,则断言结果为false ;
若上述断言结果为false,勾选此项,则断言结果为true。
#案例:如下图该请求返回一个json串。
1)【匹配特定值】添加json断言,匹配front,如下图:
查看结果树,可以看到请求成功。
填写断言值为front444,匹配失败,如下图:
2)【匹配正则表达式】Match as regular expression一定要勾上。
匹配成功示例,匹配17位数,字和一个*号,这里的*号要加 \ 进行转义,如图匹配:
匹配失败示例:改为16位数字,匹配失败:
3)【预期为null】
4)【取反】这里就不演示啦。
【规则】这里说下取json匹配字段的规则
- $ 根节点
- @ 现行节点
- . 子节点
- .. 不管位置,选择所有符合条件的
- * 匹配所有元素节点
- [,] 支持迭代器中做多选
- ?() 支持过滤操作
- [] 迭代器的标示,子元素操作符
- () 支持表达式计算
3、大小断言
4、JSR233断言
5、XPath断言
6、HTML断言
7、MD5Hex断言
8、SMIME断言
9、XML Schema断言
10、XML断言
11、断言持续时间
12、比较断言
13、Beanshell断言
BeanShell之前关于定时器的随笔中有介绍过,是一种松散类型的脚本语言(这点和JS类似),一种完全符合java语法的java脚本语言,并且又拥有自己的一些语法和方法;
作用对象:针对sampler中的Bean Shell sampler而使用的断言
参数:
Name:断言的名字(可以用一个比较容易理解和分辨的名称)
Comments:注释(对这个断言进行一个解释,备注)
Reset bsh.interpreter before each call:在每次调用Bean Shell之前重置bsh.interpreter类(bsh.interpreter是Bean Shell脚本语言的一种类,也可以理解为一种解析器)
Parameters(String Parameters and String []bsh.args):String参数(String []bsh.args是主类main函数的形式参数,是一个String 对象数组,可以用来获取命令行用户输入进去的参数)
Script file:脚本文件(可以填入脚本文件路径)
Script(see below for variables that are defined):参照下文定义的变量(使脚本文件参照定义的变量来运行)
这里重点介绍了前两个断言,和beanshell断言,其他的还未用到,用到的时候再补充啦~~~
Jmeter之断言——检查点的更多相关文章
- JMeter 参数化、检查点、集合点
参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密 ...
- 13.JMeter 参数化、检查点、集合点
参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进 ...
- Jmeter接口测试-断言
JMeter接口测试-断言 对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功, 如果否, 任务失败 ...
- jmeter --响应断言详解
jmeter --响应断言详解 响应断言 :对服务器的响应进行断言校验 (1)应用范围: main sample and sub sample, main sample only , sub-samp ...
- Jmeter(四)-断言/检查点
断言就类似LoadRunner中的检查点.对上一个请求返回的信息,做字符串.数据包大小.HTML.XML.图片等做判断,确保返回的信息的准确性. 添加响应断言:欢迎您 如果登陆页登陆成功,则后台会返回 ...
- 【jmeter】jmeter之-断言和检查点
断言就类似LoadRunner中的检查点.对上一个请求返回的信息,做字符串.数据包大小.HTML.XML.图片等做判断,确保返回的信息的准确性. 简单的来理解一下,上一章讲到,我们对用户名和密码进行了 ...
- Jmeter CSV 参数化/检查点/断言
当参数的值没有规律且量不太大时,可以使用CSV Data set config这种方法. 案例: 应用Sogou自动搜索关键字: 软件开发测试,web功能自动化测试,性能自动化测试,Selenium以 ...
- JMeter断言/检查点
断言就类似LoadRunner中的检查点.对上一个请求返回的信息,获取部分字符串.图片等做判断,确保返回的信息的准确性. 右键点击"HTTP请求" -> "添加&q ...
- Jmeter入门--断言(检查点)
断言是在请求的返回层面增加一层判断机制.因为请求成功,并不代表结果一定正确,因为此需要检查机制提高测试准确性. 1.响应断言 模式匹配规则: 包括:返回结果包括你指定的内容,支持正则匹配 例如: 响应 ...
随机推荐
- YTU 2800: 逗逗泡泡的保密电文
2800: 逗逗泡泡的保密电文 时间限制: 1 Sec 内存限制: 128 MB 提交: 229 解决: 114 题目描述 某电报局的电文保密的规律是将每个英文字母变成其后的第4个字母(很原始的那 ...
- 洛谷 P2444 [ POI 2000 ] 病毒 —— AC自动机+dfs
题目:https://www.luogu.org/problemnew/show/P2444 AC自动机上 dfs,不走结尾点,如果走出环就是有无限长度的串: RE无数,原来是数组开成 2000 的了 ...
- 《JAVA与模式》之迭代子模式
迭代子模式又叫游标(Cursor)模式,是对象的行为模式.迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象(internal representation). 聚集和JAVA聚集 多个 ...
- hdu5410(完全背包变形)
这是道完全背包,关键点在于如何处理每种物品,第一次放时,价值为A+B,以后放时,价值为A. 所以有三种决策,对于第i种物品,要么不放,要么是作为第一个放,要么是第二个以后放. 作为第一个放时,需要用到 ...
- 01_创建一个新的activity&activity配置清单文件
今天开始学四大组件.今天是学Activity,然后是广播接收者,然后是服务,然后是内容提供者.四大组件,咱们一天一个.Activity就是跟用户交互的界面,大部分的应用都不会只有这么一个界面.创建多个 ...
- Ruby IO类
更新: 2017/06/23 表格大小全部改为100% 文件输入输出的File....系列函数的文件名参数是字符串! 更新: 2017/06 ...
- bzoj 4552: [Tjoi2016&Heoi2016]排序【二分+线段树】
二分值mid,然后把>=mid的赋值为1,其他赋值为0,每次排序就是算出区间内01的个数,然后分别把0和1放到连续的一段内,这些都可以用线段树来维护 二分的判断条件是操作完之后q位置上是否为1 ...
- codeforces912E(折半搜索+双指针+二分答案)
E. Prime Gift E. Prime Gift time limit per test 3.5 seconds memory limit per test 256 megabytes inpu ...
- element-ui公用模态框自定义样式与scoped样式生效问题解决方案
//先插如效果图 里面内容均为传进来的.包括取消与确定按钮,因为每个页面的绑定事件不一样. //下面这个图片为初始样式 //拖动模态框指令需要插件.详情看我下一篇,以下是地址 https://www. ...
- 数论(GCD) HDOJ 4320 Arcane Numbers 1
题目传送门 题意:有一个A进制的有限小数,问能否转换成B进制的有限小数 分析:0.123在A进制下表示成:1/A + 2/(A^2) + 3 / (A^3),转换成B进制就是不断的乘B直到为0,即(1 ...