ARTICLE · 1164499
没有接口文档怎么测?靠HAR抓包逆向搞定接口测试
做接口测试最怕一件事:没有接口文档。很多项目迭代节奏快,开发来不及写文档、文档更新滞后,测试拿到手一片空白,不知道接口地址、入参规则、返回结构,接口测试寸步难行。遇到这种场景,怎么开展接口测试。我们可以根据这个思路来做:抓包+逆向分析请求/响应/+手工/脚本验证,优先用HAR抓包来还原接口信息,开展测试。
第一步:抓包采集,还原接口基础信息(最核心)
通过HAR 解析技能,抓包后就能半自动生成 “临时接口文档”
操作:浏览器F12/Charles/Fiddler,操作前端页面,捕获全部HTTP 请求,导出HAR 文件
过滤:剔除静态资源、图片、css、js、埋点、OPTIONS 预检请求,只保留业务接口
从HAR 提取关键信息:请求地址、请求方法(GET/POST)、请求头Query参数、Body(JSON/form-data)正常响应示例、状态码、返回JSON 结构
输出:用HAR 解析能力生成一份临时Markdown 接口文档(AI 推断字段含义),作为测试依据。
第二步:梳理接口与业务关系
梳理业务流程:按用户操作链路排序接口(登录→查询→新增→编辑→删除),理清调用先后依赖(比如必须先拿到token 才能调用列表接口)
区分接口类型:查询类、提交类、文件上传、删除类;识别接口入参之间关联关系
标记不确定点:哪些参数必填、字段长度限制、枚举值、权限控制、分页规则,这些HAR 里不一定能直接看出来,需要测试验证。
第三步:设计测试用例
1. 基础正向用例
使用抓包拿到的正常请求报文,直接调用接口,校验返回状态码、返回字段、业务数据是否符合预期。
2. 异常场景用例(重点)
必填参数:不传、传空字符串""、传null,看接口校验
参数边界:字符串超长、数字超出范围、id 传不存在的值
参数类型错误:本该数字,传入字符串;数组传单个对象
枚举值:传入不在枚举范围内的值
权限:不带token、过期token、低权限账号访问高权限接口
分页:page=0、page 负数、pageSize 超大值
特殊字符:' " < > & 换行符,测试注入、转义问题
重复提交:同一表单多次请求,看是否重复生成数据
3. 接口依赖测试
比如创建后查询、修改后查询、删除后查询,校验数据一致性。
第四步:执行测试工具选择
快速手工调试:Postman / Apifox,把HAR 直接导入,自动生成接口集合,直接发请求
自动化:JMeter / Pytest,稳定后做回归
第五步:验证& 完善临时文档
每一轮测试,把验证结果补充到HAR 生成的Markdown 文档:
1.确认哪些参数是真实必填
2.记录字段长度、枚举、错误码、错误提示信息
3.记录业务规则:不能重复新增、级联校验等
反复迭代,这份逆向文档就可以替代原始接口文档用于测试。
工作流总结
抓包导出HAR →HAR解析生成临时接口文档 → 梳理业务链路 → 设计正向+异常用例 →Apifox/Postman执行接口调用 → 记录返回结果,迭代完善文档 → 提交缺陷
无文档接口测试本质是逆向验证,抓包拿到的信息只是起点,还需要不断测试校验、补齐业务规则。如果你也经常面对文档缺失、文档过时的项目,这套HAR 抓包解析+ 接口逆向的思路,可以放进你的测试工具箱,帮你快速开展接口测试。
觉得有用,欢迎点赞收藏,后续持续分享更多测试技巧。
文章推荐: