Jmeter断言-响应断言-判断预期结果和执行结果一致

jmeter中有个元件叫做断言(Assertion),它的作用和Loadrunner中的检查点类似;用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。

使用断言的目的:在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。所以通过断言,我们不再会被200所迷惑,而是可以通过断言,看到我们请求是否真正的成功!

通过添加-断言--响应断言;还需要在监听器-断言结果,才能在执行后查看断言结果是否正确。(主要是用来调试,真正执行压力测试时候,断言禁用。)

绿色代表断言通过,红色代表断言失败。

 

一、认识响应断言

1. Apply to
断言可以应用于主样本,子样本或者两者。默认断言是第二个,断言应用于主样本。

(1) Main sample and sub-samples:主样本和子样本
(2) Main sample only:仅主样本,注意:通常发出一个请求只触发一个请求,所以勾选“main sampie only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了,默认使用主样本
(3) Sub-samples only:仅子样本
(4) JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容

 

2.测试字段(field to Test ):

(1)响应文本:响应服务器返回的文本内容,http协议排除header部分(一般的http响应,都勾选“响应文本”)

(2)响应代码:匹配响应代码,比如http请求中‘200’代表成功

(3)响应信息:匹配响应信息,处理成功返回‘成功’或者“ok”字样

(4)响应头: 匹配响应头部中的信息

(5)请求头: 匹配请求头部中的信息

(6)URL样本: 对取样器的URL进行断言

(7)断言文档: 从各种类型的文件通过Apache Tika提取文本

(8)忽略状态: 指示JMeter设置sampler status的初始状态为success。sample status是否成功,由已Response status和断言结果决定,当选中Ignore Status时,Response status被强制设置为success,不执行进一步的断言判断。仅第一次断言时使用

(9)请求数据: 对请求的数据断言

举个栗子:

(1)响应文本

 

 

 (2)响应代码

 

 

 

3.匹配规则(Pattern Matching Rules):

(1)包括: 若文本包含正则表达式模式,则断言成立;(部分匹配),支持正则匹配

(2)匹配: 若整个文本与正则表达式模式匹配,则断言成立;(全部匹配,普通字符串,非正则表达式)。与(3)相等Equals几乎一样,都是断言要和返回值完全一致。不同的是,这里支持正则,写正则表达式时,正则表达式也要完全和返回值匹配,才能够通过

(3)相等: 若整个文本与模式字符串相同(区分大小写), 则断言成立;(全部匹配),返回结果与你指定断言完全一致,不支持正则匹配。注意是完全一致,这个只有一个特殊情况会用到,一般很少用

(4) 字符串: 若文本包含模式字符串(区分大小写),则断言成立;(部分匹配,普通字符串,非正则表达式)。与(1)包括功能类似,不同点为,不支持正则匹配

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

(6)或者: 复选框项, 如果不想用AND连接(所有的模式都必须匹配,断言才算成功),用OR选项可以用于将多个断言模式进行OR连接(只要一个模式匹配,断言就是成功的)。可以为多个值,可在下面,例如一个断言里面可能有两个不同的判断值,可以选中去用,当满足一个要求的时候,就算成功。这个功能还是可以多用的

 
举例子说明:
(1)包括

 

 (2)匹配

 

 (3)相等

 

 (4)字符串

 

 

(5)否

 

4、测试模式(Patterns to Test)

测试模式:输入结果期望值(空格要去掉),可参数化

 

5、自定义失败信息(Custom failure message)

断言失败时发送的信息,可查看结果树查看到

如果断言失败,直接显示失败信息

 

 

 

二、使用响应断言

1.接口文档查看预期结果,添加监听器

 

 

 2.断言成功;执行用例,通过则为绿色。

 

 3.断言失败;执行用例,断言不一致(失败)则为红色。

 

 

 

posted @ 2022-06-12 16:04  一路打怪兽  阅读(2856)  评论(0)    收藏  举报