前言:
断言用于对采样器执行结果的检查,并在同一范围内的每个采样器之后进行处理。如果要对某个采样器进行断言,直接将断言添加到采样器的子集即可。
为什么要用断言?
JMeter以及Postman等接口测试工具,他们都是基于协议进行工作的,使用这些工具进行发送请求,当请求发送成功的时候(即协议发送成功),在查看结果树中请求样本显示绿色。比如协议状态码是200就是成功,也是仅仅代表协议发送成功,但是业务不一定成功。有可能是协议发送成功了,但是业务没有成功,但是JMeter默认不做判断。那么想要校验业务成功还是失败,就得需要进行断言,断言根据接口的响应进行断言,一般主要断言业务状态码以及messege等信息。
1、新建响应断言
2、怎么判断JMeter响应断言成功?
举个实JMeter断言成功,在查看结果树中请求是绿色,看不到断言成功的信息。当JMeter断言失败的时候,结果树中显示为红色,可以看到断言失败的信息。
2、响应断言
断言页面的解释:
一、Apply to:
1.名称:自行定义,就是节点的名称
2.注释:节点的注释,容易理解的解释
3.Apply to:断言可以应用于主样本,子样本或者两者。默认断言是第二个,断言应用于主样本。
(1)Main sample and sub-samples:主样本和子样本
(2)Main sample only:仅主样本
(3)Sub-samples only:仅子样本
(4)JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容
正则表达式与响应断言结合:
这里讲一下JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容。我尝试了一下,可以这样用,有错的麻烦提出。
断言正确,如果正则中的变量名和断言中的变量名不一致,断言则会失败。
3、模式匹配规则(Pattern Mactching Rules)
1.包括(Contains):返回的结果包括所指定的内容,支持正则匹配
接口的响应
进行断言,断言通过。
2.匹配:
与Equals几乎一样,都是断言要和返回值完全一致。不同的是,这里支持正则,写正则表达式时,正则表达式也要完全和返回值匹配,才能够通过。
3.Equals:
返回结果与你指定断言完全一致,不支持正则匹配。注意是完全一致,这个只有一个特殊情况会用到,一般很少用。
4.SubString
与“包括”功能类似,不同点为,不支持正则匹配。
5.否
反之,非 的意思
6.或者
可以为多个值,可在下面,例如一个断言里面可能有两个不同的判断值,可以选中去用,当满足一个要求的时候,就算成功。这个功能还是可以多用的,像上面那个例子,多断言几种情况。
4、Custom failure message功能
在查看结果树中可以看到刚才填写的断言的信息: