jmeter组件---断言组件

一,组件简介

1、响应断言

对服务器的响应内容进行断言
作用:对服务器的响应进行断言校验

在这里插入图片描述

界面解释:

1)Apply to(应用范围):

1,main sample and sub sample :主样本和子样本
2,main sample only:主样本
3,sub-sample only :子样本
4,jmeter variable Name to use:使用jmeter变量

1)默认勾选的main sample only 一般就够了
2)一般情况一个请求,实质上只有一个请求,但是如果发起一个请求时,可以触发多个服务器请求,就有主样本和子样本的区分了

2)测试字段:

响应文本,响应代码,响应信息,响应头,请求头,URL样本,文档(文本),忽略状态,请求数据

1,响应文本:

服务器响应文本,一般普通http响应,都勾选这个

2,响应代码:

http响应代码,如101,200,302,404,501等。但当我们要验证404,501等http响应代码时,需要勾选“ ignore status(忽略状态)”。因为当http 响应代码为400,500时,jmeter默认这个请求时失败的

3,响应信息:

例如:OK, Found
HTTP/1.1 200 Ok
HTTP/1.1 302 Found

4,响应头(Response Header):

例如:
Server: Tengine
Date: Thu, 12 Mar 2015 09:43:52 GMT
Content-Type: text/html
Content-Length: 260
Connection: close
Location: http://www.baidu.com/404.html

5,请求头

6,URL样本

是对sample的url进行断言。如果请求没有重定向(302),那么就是这个就是请求url。 如果有重定向(且跟随重定向),那么url就包含请求url 和 重定向url

7,文档(文本)Document(Text):

一切Apache Tika 支持服务器响应,包括文本响应,还支持 PDF, Office, Audio, Video formats。jmeter会用Apache Tika 去解析服务器响应内容,会很耗内存,而且也很容易解析失败。所以一般普通http请求,不要选择这个

8,忽略状态

勾选,让Jmeter在运行的时候忽略失败请求的状态

9,请求数据

3)模式匹配规则:

包括,匹配,相等,字符串,否,或者

1,包括

返回结果包括你指定的内容,支持正则匹配
例如:
响应字段为: 响应文本
模式匹配规则:匹配
断言为:1、invalid 2、[a-z]+
当返回值为:{“msg”:“channel invalid.”} , 这两个断言都是ok的,返回true

2,匹配

(1) 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同
(2) 正则匹配 。 用正则表达式匹配返回结果,但必须全部匹配。 即正则表达式必须能匹配整个返回值,而不是返回值的一部分。
例如:
响应字段为: 响应文本
模式匹配规则:匹配
断言为:1、{“msg”:“channel invalid.”} 2、{“msg”:"[a-z]+ invalid."} , 3、[a-z]+
当返回值为:{“msg”:“channel invalid.”}    ,断言1 2 是ok的, 断言3是false
当返回值为:{“msg”:“channel invalid.”} , 断言1 3是false, 断言2才是ok的。
原因是,断言1 只能用于equals,而断言3 只匹配了返回值部分,而不是全部匹配。

3,相等(Equals)

返回结果与你指定断言完全一致

4,字符串(SubString)

与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串
例如:
响应字段为: 响应文本
模式匹配规则:匹配
断言为:1、invalid 2、[a-z]+
当返回值为:{“msg”:“channel invalid.”} , 断言1返回true, 但断言2返回false

5,否

就相当于取反。 如果上面断言结果为true,勾选“否”后,最终断言结果为false。如果上面断言结果为false,勾选“否”后,则最终断言结果为 true

6,或者

2、Compare Assertion

比较断言可用于比较其范围内的样本结果。可以比较内容或经过的时间,并且可以在比较之前过滤内容。断言比较可以在“ 比较断言可视化器”中看到。

负载测试期间不得使用“ 比较声明”,因为它消耗大量资源(内存和CPU)。仅将其用于功能测试或在测试计划调试和验证期间使用。

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

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

在这里插入图片描述

  • Select Comparison Operators:选择比较运算符
  • Compare Content:可以选择比较的内容类型(true/false或者自定义,编辑)
  • Compare Time:比较时间(可以设定比较的时间,单位为秒,默认为-1)
  • Comparison Fitters:比较修改工具
  • regular expression substitutions:替换正则表达式
  • Regex String:要替换的字符串(可从断言结果中选择)
  • substitutions:替换的字符串(替换结果)

3、MD5Hex断言

针对参数类型为MD5Hex加密的参数的断言
MD5Hex断言允许用户检查响应数据的MD5 hash。
MD5Hex:将已被MD5加密的参数写入其中,添加取样器等其他元件
作用对象:针对参数类型为MD5Hex加密的参数的断言
在这里插入图片描述

4、Size Assertion

对响应内容的大小进行断言
大小断言测试每个响应中包含正确的字节数。您可以指定大小等于,大于,小于或不等于给定的字节数。
在这里插入图片描述

  • Main sample and sub-samples:主样本和子样本都要
  • Main sample only:只要主样本(默认)
  • Sub-samples only:只要子样本
  • JMeter…:断言将应用于命名变量的内容

选择需要测试的响应字段:

  • Full Response:完整响应(默认)
  • Response Headers:响应头
  • Response Body:响应的消息体

空响应被视为0字节,而不是报告为错误。

5、SMIME Assertion

SMIME断言可用于评估来自邮件阅读器采样器的样本结果。此断言验证哑剧消息的主体是否已签名。签名也可以针对特定的签名者证书进行验证。由于大多数用户不一定需要此功能,因此需要下载其他jar,并将其添加到JMETER_HOME / lib中:

  • bcmail-xxx.jar(BouncyCastle SMIME / CMS)
  • bcprov-xxx.jar(BouncyCastle提供程序)

SMIME是一种多用途网际邮件扩充协议,相比于之前的SMAP邮件传输协议,增加了安全性,对邮件主题进行保护;

作用对象:针对采用了该种邮件传输协议的信息

在这里插入图片描述
signature:签名(可选择对协议的签名验证状态)

      Verify signature:验证签名

      Message not signed:没有签名消息

Signer certificate:签名证书(因为SMIME协议增加了安全传输,需要证书验证)

      No check:不检查

      Check values:检查

Signer distinguished name:签名证书者名称(证书注册者的名称)

Sigmer email address:签名者的邮件地址(注册的邮件地址)

Issuer distinguished name:发行者名称(由谁发行的证书)

Serial Number:证书序号

Certificate file:选择证书文件

Execute assertion message at position:执行断言消息的位置(在返回消息的具体哪个位置执行断言)

6、XML Schema Assertion

XML模式声明允许用户验证对XML模式的响应。
在这里插入图片描述

  • File Name:文件名(写入需要断言的文件名称)

7、XML断言

XML断言测试响应数据包含形式正确的XML文档。它不会基于DTD或架构验证XML,也不会进行任何进一步的验证。

XML(可扩展标记语言) 提供一种描述结构化数据的方法。与主要用于控制数据的显示和外观的 HTML 标记不同,XML 标记用于定义数据本身的结构和数据类型;

作用对象:判断返回结果是否和xml的格式即<></>成对出现
在这里插入图片描述

8、XPath Assertion

XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。

作用对象:针对返回信息为XPAth的数据类型进行断言
在这里插入图片描述
Apply to:适用范围

     Main sample and sub-samples:主要样本和次级样本

     Main sample only:仅主要样本

     Sub-samples only:仅次级样本

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

XML Parsing Options:XML解析选项

     Use Tidy(tolerant parser):使用Tidy(容错解析器),默认选择quiet(不显示)

     Quiet:不显示

     Report errors:错误报告

     Show warnings:显示错误

     Use Namespaces:使用名称空间

     Validate XML:验证XML(文件包/数据)

     Ignore Whitespace:忽略空格(这允许你指定语法分析器可以忽略哪个空格,而哪个空格是重要的)

     Fetch external DTDs:获取外部DTDs(一些XML元素具有属性,属性包含应用程序使用的信息,属性仅在程序对元素进行读、写操作时,提供元素的额外信息,这时候需要在DTDs中声明)

XPath Assertion:输入框中写入xpath断言,点击Validate验证其正确性

     True if nothing matches:确认都不匹配

9、断言持续时间

持续时间断言测试在给定的时间内收到了每个响应。任何超过给定毫秒数(由用户指定)的响应都将标记为失败响应。
在这里插入图片描述

  • Main sample and sub-samples:主样本和子样本都要
  • Main sample only:只要主样本(默认)
  • Sub-samples only:只要子样本

10、HTML Assertion

11、JSR223 Assertion

12、BeanShell 断言

二,其他组件

全组件目录

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值