目录
前言:
App 接口测试工具之 apimock 是一款基于 API Mocking 的接口测试框架,可以动态地模拟 API 服务器的返回数据,用于测试应用程序的 API 接口。它支持多种格式的请求和响应数据,包括 JSON、XML、YAML 等。
优势
- 动态实时 mock
- 命令配置灵活,键值支持精确及正则模糊检索,提供多个 fuzz 功能
- 容易理解,方便易用
适用场景
app 对服务端返回的容错测试
服务端返回一旦出错后果很严重,app 轻则 ui 异常重则崩溃,像 api 404,502,长时间无返回,延迟, 返回空 body,键值错,无值,异常值这几类一般必测
项目中使用该工具后效率有了明显提升
原理
- 如何实时 mock?
app 通过 pc 上 fiddler 代理访问 api
通过运行 proxy xxx 给 mock server 注入 mock 配置,支持重置
借助 fiddlerscript 实现包转发给 mock server,server 根据运行时动态配置对包进行劫持修改,修改后再返还给 fiddler
fiddler.js 重写 OnBeforeResponse 将指定包劫持转发给 mockserver
static function OnBeforeResponse(oSession: Session) {
if (isautocap && oSession.HostnameIs(filterUrl) && oSession.responseCode == 200) {
oSession.utilDecodeResponse()
var rawbody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
var j=Fiddler.WebFormats.JSON.JsonDecode(rawbody)
if(typeof(j.JS