一、断言是什么
1. 断言的作用
断言用于对采样器执行结果的检查,并在同一范围内的每个采样器之后进行处理。如果要对某个采样器进行断言,直接将断言添加到采样器的子集即可。
2. 为什么要用断言?
JMeter以及Postman等接口测试工具,他们都是基于协议进行工作的,使用这些工具进行发送请求,当请求发送成功的时候(即协议发送成功),在查看结果树中请求样本显示绿色。比如协议状态码是200就是成功,也是仅仅代表协议发送成功,但是业务不一定成功。有可能是协议发送成功了,但是业务没有成功,但是JMeter默认不做判断。那么想要校验业务成功还是失败,就得需要进行断言,断言根据接口的响应进行断言,一般主要断言业务状态码以及messege等信息。
二、怎么判断JMeter响应断言成功?
3. 举个栗子
JMeter断言成功,在查看结果树中请求是绿色,看不到断言成功的信息。
JMeter断言失败的时候,在查看结果树中显示为红色,可以看到断言失败的信息。
响应断言的设置
三、 Jmeter断言页面的解释
4. Apply to
断言可以应用于主样本,子样本或者两者。默认断言是第二个,断言应用于主样本。
① Main sample and sub-samples:主样本和子样本
② Main sample only:仅主样本,注意:通常发出一个请求只触发一个请求,所以勾选“main sampie only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了
③ Sub-samples only:仅子样本
④ JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容
使用说明:
一般情况下,直接使用主样本(默认)的断言即可。因为大多数情况下,只有主请求才会具有所必须的断言数据,但是前端的JavaScript语言,有两个框架ajax和jquery单个请求可以在内部产生多个子请求,并且每个请求都会有响应数据,所以说,大多数情况下,进行主要采样器的断言就足够了。
如果断言中选择Main sample and sub-samples,那么断言就要校验主采样器和子采样器的响应,看一下结果,除了主采样器的响应中包含“退出登录”,其他的子采样器的响应没有“退出登录”,所以会断言失败,其他几个是同理。
这里讲一下JMeter Variable Name to use:JMeter使用变量名字,断言将应用于命名变量的内容。我尝试了一下,可以这样用,有错的麻烦提出。
断言正确,如果正则中的变量名和断言中的变量名不一致,断言则会失败。
5.要测试的响应字段
①一般的http响应,都勾选“响应文本”
②url样本是对sample的url进行断言,如果请求没有重定向,就请求url,如果有重定向,就请求url和重定向url
③响应代码:http响应代码,如101,200,302,404,501等当我们要验证404,501等http响应代码时,需要勾选“ ignore status”因为当http 响应代码为400,500时,jmeter默认这个请求时失败的
④响应信息:响应代码对应得响应信息,例如“OK"文章来源:https://www.toymoban.com/news/detail-449213.html
6.模式匹配规则(Pattern Mactching Rules)
①包括:返回的结果包括所指定的内容,支持正则匹配
举个栗子:
接口的响应是
进行断言,断言通过
②匹配:与Equals几乎一样,都是断言要和返回值完全一致。不同的是,这里支持正则,写正则表达式时,正则表达式也要完全和返回值匹配,才能够通过
③Equals(相等):返回结果与你指定断言完全一致,不支持正则匹配。注意是完全一致,这个只有一个特殊情况会用到,一般很少用
④SubString(字符串):与“包括”功能类似,不同点为,不支持正则匹配
⑤否:反之,非 的意思
⑥或者:可以为多个值,可在下面,例如一个断言里面可能有两个不同的判断值,可以选中去用,当满足一个要求的时候,就算成功。这个功能还是可以多用的,像上面那个例子,多断言几种情况
7.测试模式
输入要匹配的值(不能有空格)
8.自定义失败消息(Custom failure message)
当判断返回值为错误的时候,返回什么信息。可以在断言结果内显示
在查看结果树中可以看到刚才填写的断言的信息,与输入的期望值不符,判断为任务失败,查看结果树任务结果颜色标红文章来源地址https://www.toymoban.com/news/detail-449213.html
到了这里,关于Jmeter接口测试之响应断言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!