【看完就会】Jmeter接口测试之断言详解

断言是自动化测试中的关键概念,用于判断操作结果的正确性。在接口测试中,断言用来确认接口请求是否符合预期。JMeter中,可以在Sampler下添加断言,如响应断言,判断响应文本、响应代码、响应头等。此外,还有持续时间断言判断响应时间,大小断言检查响应大小,以及BeanShellAssertion支持自定义脚本进行复杂判断。JMeter还提供了其他类型的断言,如JSON、XPath和XML断言,以适应不同测试需求。
摘要由CSDN通过智能技术生成

什么是断言?

断言,这是一个软件术语,简单来说,就是依靠软件程序自动判断操作结果的正确性。在接口测试中,这里的断言就是判断接口请求是否符合预期,从而判断接口用例是否执行通过。

你应该也听过一个概念检查点,其实跟断言是一个意思,这个概念通常是在loadrunner中被使用。

断言的使用场景?

断言除了在接口测试中使用,性能测试,UI接口自动化测试中,我们也要用到这个功能,只是不同工具的实现方式不一样而已。记住,断言是自动化测试中最重要的绕不开的一个概念,让自己的程序尽可能像人一样去做判断,这是自动化测试需要实现的重要功能。

 

如何使用jmeter断言?

1.添加断言

在选择的Sampler下右键添加断言,根据需要选择断言类型。注意断言的作用域。

2.添加监听器(察看结果树或者断言结果)

通过察看结果树查看断言是否通过,通过没有显示,失败会给出红色的提示,并给出不通过的原因。断言结果则是把失败的断言内容汇总到一起显示。

说明:可以对同一个请求添加多个断言,多个断言属于并的操作,必须全部满足,用例才能执行通过。

常见jmeter的断言分类

引入路径:请求右键->添加->断言

响应断言(Response Assertion)

作用:对响应报文中所有信息都可以进行断言,包括响应的文本、响应代码、响应头等。

APPly to(适用范围)
  • Main sample and sub-samples:作用于父节点取样器及对应子节点取样器
  • Main sample only:只作用于父节点取样器(一般的断言都选这个)
  • Sub-samples only:只作用于子节点取样器
  • JMeter Variable:只作用于jmeter变量(可写入正则提取的响应值)

测试字段:
  • 响应文本:请求的响应文本信息,不包含响应头信息。最常用的断言字段。
  • 文档(文本):通过Apache Tika从各种的文档中提取的文本进行验证,包括响应文本,pdf、word等等各种格式。
  • 响应代码:对应http返回的响应码。
  • 响应头:响应头信息
  • URL样本: 请求url,如果有重定向包含重定向url
  • 响应信息:匹配响应信息,如:OK
  • 忽略状态(Ignore Status): 一个请求多项响应断言时,忽略某一项断言的响应结果,而继续下一项断言。

模式匹配规则

  • 包括:响应的结果中包含指定的文本或者字段值,支持正则表达式
  • 匹配:完全匹配,期望值与实际结果必须完全一致,一般结合正则表达式使用
  • 相等:响应结果与指定的内容完全一致,不支持正则表达式
  • 字符串:返回结果,包含指定的字符串,不支持正则表达式
  • :不进行匹配
断言持续时间(Duration Assertion)

断言持续时间,一般用来判断请求的响应时间是否超过我们设置时间值,大于断言失败,小于断言成功。
大小断言(size assertion)

可对完整响应、响应头、响应消息体大小进行判断;
  • 字节大小:需要判断大小的数值,单位字节
  • 比较类型,与字节大小配合,限定判断的范围。

断言结果示例

beanshell断言(BeanShell Assertion)

BeanShell断言,可以使用beanshell脚本来实现请求结果的判断,适用于上述断言功能无法实现的场景,灵活高效,需要熟练使用beanshell脚本。

可以通过beanshell的内置变量,以及 Failure 和 FailureMessage语句来设置断言结果,举例如下:

jmeter除了上述的几个常用的断言之外,还有json断言、xpath断言、XML断言等,大家可以根据需要进行学习。

 

最后,绵薄之力

感谢每一个认真阅读我文章的人,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

  这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

资料获取方式:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值