JMeter接口测试全流程解析
1. Jmeter的界面介绍和功能
组件(元件)
- 1、测试计划:Jmeter的起点和容器
- 2、线程组:代表一定的虚拟用户(一个用户一个线程)
- 3、取样器:发送请求的最小单元
- 4、逻辑控制器:控制组件的执行顺序
- 5、前置处理器:在请求之前的操作
- 6、后置处理器:在请求之后的操作
- 7、断言:判断请求是否成功
- 8、定时器:是否延迟或间隔发送请求(同步定时器:可以做并发;高斯定时器:随机;固定定时器:定时)
- 9、配置元件:请求期的配置信息
- 10、监听器:负责收集测试结果
执行顺序:
测试计划》线程组》配置元件》前置处理器》定时器》逻辑控制器 》取样器》后置处理器》断言》监听器
作用域:
组件会作用于它的父级组件,同级组件以及同级组件的子组件。
2、接口测试流程
- 1、拿到接口文档(抓包,录制),熟悉接口业务,接口地址,鉴权,入参,出参,错误码,兼容。
- 2、接口测试用例的设计和评审
- 正例:
- 反例:
- 鉴权反例(必填,错误,鉴权码过期......)
- 参数反倒(必填,参数类型异常,参数长度异常)
- 其他场景(黑名单,调用次数限制,分页场景)
- 兼容性(一个接口对应多个版本APP)
- 执行接口测试
- 团队协作,持续集成并生成报告发送邮件等
3、Jmeter接口测试
cookie鉴权的原理:
客户端第一次访问服务器,服务器就会生成cookie,然后通过响应头里的set-cookie传输到客户端,然后保存到客户端, 第2--N次访问服务器,那么在请求头里面通过cookie把我们保存在本地的cookie信息传输到服务器以实现鉴权。
注意:如果一个请求,即要上传参数,又需要上传消息体数据。因为在jmeter中,“参数”与“消息体数据”只能一个生效,不能同时生效,所以将参数根在地址后面。如上图。
4、错码处理
sampleresult.default.encoding=UTF-8