1.前言
在JMeter中实现自动判定运行结果,通常涉及到设置断言(assertions)和监听器(listeners),以及可能的后处理器(post-processors)。这些组件可以帮助你验证响应数据是否符合预期,从而自动判断测试的结果。
本篇文章主要介绍断言。
断言:让程序自动判断预期结果和实际结果是否一致
JMeter常用断言:
- 响应断言
- JSON断言
2.响应断言
响应断言是用于验证测试过程中服务器响应的数据是否满足预期条件。通过响应断言,你可以检查HTTP响应码、响应文本、响应头部信息、响应时间等多种属性,确保应用程序或API按预期工作。
位置: 测试计划-->线程组-->HTTP请求-->(右键添加)断言-->响应断言
示例:
请求接口: https://www.baidu.com
检查: 让JMeter检查响应数据中是否包含"百度一下,你就知道"
在查看结果树中,可以看到响应数据中确实存在"百度一下,你就知道"
首先测试字段选择响应文本,点击添加,然后输入想要验证的文本即可.
输入完成之后,Ctrl+s
保存,然后运行即可
断言会自动帮我们判断响应结果是否符合我们的预期.符合就是绿色的√
返回响应断言,更改响应文本
再次运行查看结果
可以看到这次断言就失败了.
3.JSON断言
JSON断言专门用于验证HTTP响应中的JSON数据。这个断言工具对于测试使用JSON格式交换数据的RESTful API尤其有用,因为它允许你指定JSON路径表达式并检查实际响应数据是否符合预期。
位置:测试计划-->线程组-->HTTP请求-->(右键添加)断言-->JSON断言
示例:
请求接口: http://www.weather.com.cn/data/sk/101010100.html
检查: 判断响应JSON数据中,city对应的内容是否是"北京"
首先还是添加HTTP请求以及查看结果树,先运行一遍查看接口返回数据
HTTP请求设置:
查看结果树
选择数据展示方式为JSON Path Tester
JSON Path Expressions to Test
:在这里输入你想要测试的JSON路径表达式。可以使用$
作为根节点,.
表示子节点。
例如我要取得是city的内容,就是使用$.weatherinfo.city
,点击Test,就会打印出对应的结果-“北京”
添加JSON断言
Ctrl+s
保存,然后运行即可,可以看到JSON断言结果是正确的
同样来更改一下预期结果
再次保存运行,可以看到这次断言结果就失败了