jmeter学习(十四)jmeter_断言使用

liruix liruix     2022-10-05     498

关键词:

先说一下使用断言的目的:在request的返回层面增加一层判断机制。因为request成功了,并不代表结果一定正确。类似于QTP中的检查点检查点。断言的使用方法:
step_1:在你选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同)。配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。
step_2:添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言。对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称;如果失败,则除了请求的名称外,还会有一行失败的原因。(不同类型的断言,结果不同。)
注意:一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。
下面简单说一下几种断言的使用(前3种应该较为常用一点):

1、Response Assertion(响应断言)

适用于判断返回内容中的内容,控制面板截图如下:
位置1:名称、注释
位置2:要测试的相应字段,即要检查的项
位置3:模式匹配规则
包括:返回结果包括你指定的内容
匹配:(好像跟Equals查不多,弄不明白有什么区别)
Equals:返回结果与你指定结果一致
Substring:返回结果是指定结果的字串
否:不进行匹配
位置4:要测试的模式,即填写你指定的结果(可填写多个,如图中就是希望返回文本中包含有2个指定的字符串,只有当同时包含了这2个串,这个断言才算通过,否则,算失败。)按钮【添加】、【删除】是进行指定内容的管理

2、Size Assertion(Size断言)

Size Assertion用于判断返回内容的大小,Size Assertion控制面板截图如下:
位置1:名称、注释
位置2:指定大小(单位:字节)与比较类型,返回内容的大小、比较类型、指定字节大小的比较时的摆放顺序是:【返回内容的大小】【比较类型】【指定字节大小】,如果这个比较结果通过,则断言通过,如图中,如果返回内容的大小大于10个字节,则断言通过,否则失败。

3、Duration Assertion(Size断言)

Duration Assertion用于判断服务器的响应时间,控制面板截图如下:
位置1:名称、注释
位置2:响应时间设置(单位:毫秒),如果响应时间大于设置的响应时间,则断言失败,否则成功!(等于的情况不好设置,暂不知道具体情况如何)

4、HTML Assertion(HTML断言)

html assertion的作用是检查返回的的内容,格式是否符合指定格式的相关标准。具体见下面说明。HTML Assertion的控制面板如下:
位置1:名称、注释
位置2:Tidy Settings,Doctype有auto、omit、strict、loose(这里各设置代表什么意思暂不太了解)
位置3:格式类型,即你按那种格式来检查返回内容,html or xhtml or xml?
位置4:能接受的最大值设置,Error threshold:最大可以接受的错误数;Warning threshold:最大可以接受的警告数。如果勾选“Error only”这忽略Warning,只对Error作统计检查。如果对返回内容的检查结果不超过指定结果,则断言通过,否则失败。

5、XML Assertion(XML断言)

就目前的理解来看XML Assertion的作用是判断返回结果是否否和xml的格式即<></>成对出现。(不知这样理解对不对?如果是这样的话,这个在HTML中,设置Format为XML就可以实现了,为什么还需要这个呢?)XML Assertion控制面板截图如下:
从控制面板上可以看出,XML Assertion不需要设置任何内容。
在使用XML Assertion的过程中,遇到一个问题,弄不明白,问题贴在这里,希望路过的朋友,如果知道的话,帮忙解答一下:
Jmeter中添加xml assertion
断言结果:Error on line 1: The element type "Detail" must be terminated by the matching end-tag "</Detail>".
但实际请求返回结果:
<?xml version="1.0" encoding="UTF-8"?><Info><Country>中国</Country><Province>未知</Province><City>未知</City><Type>大学</Type><ISP>教育网</ISP><Detail>中国教育网</Detail></Info>
问题:<Detail></Detail>是成对的,断言那边怎么会过不去?
以上参考:
1、http://www.51testing.com/html/75/n-97675.html
2、http://jakarta.apache.org/jmeter/usermanual/component_reference.html#XML_Assertion

jmeter学习-007-jmeter断言实例之一-响应断言jmeter学习-004-web脚本入门实战

...已经对如何录制web的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战同时,我们的手机应用(例如:京东、天猫、唯品会、携程、易迅等等App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理... 查看详情

软件测试攻略(十五):jmeter进阶_响应断言、参数化

参考技术A这个阶段,知道即可,不做深入了解。Jmeter的断言很多,我们先说一下响应断言。一个http请求发出去,如何判断他是否执行成功呢。我们可以通过检查服务器响应数据,是否返回预期想要的数据,如果是,判断任务成... 查看详情

jmeter学习(三十四)测试报告优化

如果按JMeter默认设置,生成报告如下:从上图可以看出,结果信息比较简单,对于运行成功的case,还可以将就用着。但对于跑失败的case,就只有一行assert错误信息。(信息量太少了,比较难找到失败原因)优化大致过程:1、下... 查看详情

jmeter学习笔记5-检查点

1.定义:Jmeter中的检查点就是断言中的响应断言。2.通过实例进行介绍:以sogou.com搜索为例,检查搜索关键字,search.jmxbadboy录制后导入Jmeter集行参数化对相应请求添加响应断言对相应请求添加断言结果一般断言执行成功,就只显... 查看详情

jmeter(二十四)jmeter-question之“加密请求参数”(代码片段)

...的不一样的加密方式,用的最多的还是MD5加密(16,32)。Jmeter3.2版本已经有解决方案  1、$__MD5(,)函数(默认32位),当然也有其他类型的加密函数:base64    用法很简单,与一般函数使用一般无二。  粘贴一个实例: ... 查看详情

请问使用jmeter进行自动化脚本设计时经常使用哪些元件?

A、使用setUp和tearDown分别负责初始化与资源卸载操作线程组元件下选择setUp或tearDownB、使用函数动态生成测试数据,使用断言动态判断响应结果可以使用__counter、__random、__time等函数生成测试数据?根据需要选择断言元件下的组件... 查看详情

jmeter学习笔记

总结:1,测试计划是使用JMeter进行测试开发的气垫,她是其他JMeter测试元件的容器2,线程组代表一定数量的并发用户,它可以用来模拟并发用户的发送请求,实际的请求内容在Sampler中定义,他被线程组包含3,monitor负责收集测... 查看详情

全网最新最细最全最牛的jmeter接口测试,性能测试,没有之一,如有雷同纯属抄袭。

...2、接口测试简介3、环境搭建4、RESTful风格 5、Json说明6、Jmeter简介7、Jmeter环境搭建8、Jmeter使用8.1Jmeter发GET请求8.2线程组8.2.1 并发执行8.2.2 顺序执行8.2.3 线程组-Ramp-UpPeriod(insenconds)8.2.4 线程组-循环次数8.2.5 线程组-调度器8.2.6se... 查看详情

jmeter断言

jmeter中有个元件叫做断言(Assertion),它的作用和loadrunner中的检查点类似;用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。使用断言的目的:在request的返回层面增加一层判断... 查看详情

jmeter学习检查点

JMeter也有像LR中的检查点,本篇就来介绍下JMeter的检查点如何去实现。JMeter里面的检查点通过添加断言来完成。 检查点:上一章讲到,我们对用户名和密码进行了参数化,那么怎样来判断jmeter有没有正确调用t.dat里面的文件... 查看详情

jmeter学习检查点

JMeter也有像LR中的检查点,本篇就来介绍下JMeter的检查点如何去实现。JMeter里面的检查点通过添加断言来完成。 检查点:上一章讲到,我们对用户名和密码进行了参数化,那么怎样来判断jmeter有没有正确调用t.dat里面的文件... 查看详情

jmeter断言

断言定义类似loadrunner中的检查点,用于检查测试中得到的响应数据等是否符合预期。使用断言的目的在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。使用断言的方法:在选择的Sampler下添加对... 查看详情

jmeter断言

刚开始使用JMeter的时候,把测试的步骤、过程通过badboy或是JMeter中自带的代理进行录制完成之后,使用JMeter把录制完成的jmx文件打开,点击运行按钮,好像总是运行成功的样子。通过添加聚合报告看运行结果,Error%也几乎是100%... 查看详情

jmeter十四:最佳实践

参考:http://jmeter.apache.org/usermanual/best-practices.html1.总是使用最新版本的JMeter2.使用合适数目的ThreadThread数目取决于:硬件环境、TestPlan的设计、以及服务器的运行速度。不合适数目的Thread,可能会造成测试结果不正确或者不精确... 查看详情

jmeter响应断言

jmeter提供了很多种断言,本文我就介绍下我们经常使用的响应断言!响应断言:对服务器的响应进行断言校验(1)、应用范围Applyto:Mainsampleandsub-samples,Mainsampleonly,Sub-samplesonly,JmeterVariable一共4种   a、关于应用范围,我们大多... 查看详情

jmeter之断言——检查点

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

jmeter-beanshell断言

参考技术A路径:右键http请求-添加-断言-BeanShell断言基本与java类似写法没有java这么严谨参考例子:获取返回json中数组的长度(用于查询接口返回的具体数据条数)参考例子:使用beanshell断言 判断布尔类型数据参考例子:使... 查看详情

jmeter断言处理之响应断言

...求,那么,这个请求的结果是否正确呢?这个就需要使用JMeter的断言之响应断言了。首先在JMeter中添加一个get请求,这里以中国天气网中获取深圳周边城市、深圳街道和深圳景点的标识码为例:  再添加查看结果树,发送请求... 查看详情