Jmeter接口测试之断言详解

发表于:2019-10-31 11:49

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:吾非同    来源:吾非同

  什么是断言?
  断言,这是一个软件术语,简单来说,就是依靠软件程序自动判断操作结果的正确性。在接口测试中,这里的断言就是判断接口请求是否符合预期,从而判断接口用例是否执行通过。
  你应该也听过一个概念检查点,其实跟断言是一个意思,这个概念通常是在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断言等,大家可以根据需要进行学习。

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号