前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能测试-Jmeter断言(Assertion)

性能测试-Jmeter断言(Assertion)

作者头像
用户6367961
发布2019-12-18 10:56:51
1.9K0
发布2019-12-18 10:56:51
举报
文章被收录于专栏:自学测试之道

使用断言的目的:用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。

使用断言的方法:

A.在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。

B.添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言;对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;

PS:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。

下面介绍几种常用的断言用法

1、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):参照下文定义的变量(使脚本文件参照定义的变量来运行)

2、比较断言(compare assertion)

这是一种比较特殊的断言元件,针对断言进行字符串替换时使用;

作用对象:需要替换的字符串

解析:

Select Comparison Operators:选择比较运算符

Compare Content:可以选择比较的内容类型(true/false或者自定义,编辑)

Compare Time:比较时间(可以设定比较的时间,单位为秒,默认为-1)

Comparison Fitters:比较修改工具

regular expression substitutions:替换正则表达式

Regex String:要替换的字符串(可从断言结果中选择)

substitutions:替换的字符串(替换结果)

3、持续断言(duration assertion)

如果响应时间大于设置的响应时间,则断言失败,否则成功

作用对象:服务器

解析:

APPly to:适用范围

>Main sample and sub-samples:作用于父节点取样器及对应子节点取样器

>Main sample only:仅作用于父节点取样器

>Sub-samples only:仅作用于子节点取样器

Duration to assert:持续断言

Duration in milliseconds:响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!

4、响应断言(response assertion)

判断返回内容中的内容与设定的预期是否一致

作用对象:

响应报文中的所有对象

解析:

APPly to:适用范围

>Main sample and sub-samples:作用于父节点取样器及对应子节点取样器

>Main sample only:仅作用于父节点取样器

>Sub-samples only:仅作用于子节点取样器

>JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)

要测试的响应字段:要检查的项

>响应报文

>Documeng(text):测试文件

>URL样本

>响应代码

>响应信息

>Response Headers:响应头部

>Ignore status:忽略返回的响应报文状态码

模式匹配规则:

>包括:返回结果包括你指定的内容

>匹配:(好像跟Equals查不多,弄不明白有什么区别)

>Equals:返回结果与你指定结果一致

>Substring:返回结果是指定结果的字串

>否:不进行匹配

要测试的模式:即填写你指定的结果(可填写多个),按钮【添加】、【删除】是进行指定内容的管理

5、其他断言

其他断言方式,根据项目和需求需要,可自行查找官网文档进行配合使用

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档