Jmeter4.0接口测试之断言实战八
在接口测试用例中得有断言,没有断言的接口用例是无效的,一个接口的断言有三个层面,一个是HTTP状态码的断言,另外一个是业务状态码的断言,最后是某一接口请求后服务端响应数据的断言。在Jmeter中增加断言的方式是右键测试用例点击断言,在断言中点击响应断言, 在响应断言中,要测试的模式填写内容:HTTP/1.1 200 OK,要测试的响应字段勾选Response Headers,模式匹配规则选择Substring,把该响应断言命名为HttpCodeStatus,并且把把响应断言放在全局的位置,见截图:
下来添加业务状态码,在接口login中服务端响应数据中返回的业务状态码是10001,在login接口中右键用例,断言中选择JSON Assertion,在Aassert JSON Path exists中编写获取到业务状态码的脚本,在Expected Value中编写期望的结果,见完善后的内容截图
login的接口无返回的data数据,所以就不做断言,对接口做断言后,在监听器中新增断言结果,再次执行见断言的结果:
注解:如果断言失败,就会显示失败的详细的信息
一, jmeter断言:
1,响应断言
为什么要断言?做自动化的时候,可以替代人工检查结果
2,检查哪些内容?
---状态码
---响应信息
---某些接口还需要检查头部中一些核心信息
---最重要的要检查返回正文的内容
3,断言的内容在哪里?在头部还是在正文内容中
返回的数据格式是什么,这个要搞清楚
4,响应状态码断言:
5,响应信息断言:
6,响应正文断言
7,json断言
如果后台返回的响应数据是Json格式的数据,最好使用json断言
Json格式只只用于json格式的响应数据
以上是一个内容一个断言,那如何把所有的信息全部提出来断言呢?
8,Xpath断言
如果返回的是html格式的,就要用xpath断言
可以现在查看结果树中选择xpath tester
在xpath 断言中要勾选:
如何取值呢?可以F12定位元素,复制xpan就可以