使用【Fidder + 微信开发者工具】开发 - 关于后端接口请求的捕获和请求数据结果的模拟

注:此文章只针对Fidder如何捕获请求和模拟数据返回进行描述,不涉及Fidder其他作用

一、Fidder安装包下载

Fidder官网下载地址:Download Fiddler Web Debugging Tool for Free by Telerik

二、Fidder简介(个人理解)

Fidder在客户端和服务端之间充当中间者的角色,客户端每次发送请求时,都会经过中间者(Fidder),再发送到服务端,当Fidder对客户端某一端口设置了捕获操作时,会把客户端从对应端口发出的,原本应发送到服务端的所有请求进行捕获,再对对应接口数据进行模拟操作之后,再返回给客户端。

三、为什么使用Fidder

  • 开发阶段:在确认接口数据结构时(接口评审 - 与后端确认接口数据结构和字段类型),我们可以根据约定好的数据结构,主动去模拟接口数据,并使用Fidder捕获接口并返回自己模拟的、且符合约定的接口结构数据,在开发过程中就可以直接使用模拟的接口数据字段,真正做到边开发边联调(模拟数据),在后续联调时,只需要关闭Fidder的接口捕获,在保证接口数据结构不变和数据字段类型正确的前提下,就可以获取到真实的且符合约定的数据结构,大大节省了开发成本和联调时间。
  • 联调阶段:当第一次联调时,在保证接口数据结构和字段类型一致性的前提下,我们可以直接copy对应接口的真实数据,来替换我们自己模拟的数据,保证我们所使用到的数据都是真实数据,这样做的好处是,如果后续后端接口出现问题或者其他影响接口请求的情况时,我们获取真实的数据的来源不再唯一(依赖后端提供接口来获取真实数据),我们还可以使用Fidder捕获报错的、有问题的接口,转而使用自己copy的、已经替换了的模拟请求数据(此时的模拟数据是真实数据)继续联调开发,以此来保证我们的开发进度,大大减少了与后端之间的依赖性(只需获取一次,后续自给自足)。

四、微信开发者工具设置代理端口 + Fidder设置捕获端口

微信开发者工具设置代理端口

打开微信开发者工具 - 设置 - 代理设置 - 代理 - 手动设置代理 - 输入地址:127.0.0.1:8888(Fidder默认地址端口)

Fidder设置捕获端口

启动Fidder - Tools - Options - Connections - 设置 8888(对应微信开发者工具设置的端口号)- 点击OK - 重启Fidder

 

五、Fidder捕获http、https请求

https请求捕获配置

Tools - Options -  HTTPS - 开启如图配置 - OK - 出现弹窗点击yes即可

 Fidder捕获http、https请求

过滤出我们需要捕获的域名,方便我们后续的捕获操作

Filters - 开启Use Filters - 过滤出我们需要的域名

开启规则启用(Enable rules) 和不捕获我们过滤掉的请求(Unmatched requests passthrough)

将我们捕获到的所有请求全部清除,后续所有的清除捕获请求数据也可以在这里去操作,也可以选择性地清除捕获请求类型,如:图片类型Images

重新向服务器发出请求,Fidder重新捕获请求,这时可以清晰看到,我们只捕获到我们想要捕获的请求,其他不需要的都过滤掉了,清晰明确。

 选择我们捕获到的、想要模拟的接口,鼠标紧按左键不松开,直接拖拽到右边区域即可 

捕获到的请求默认前缀为EXACT,即全匹配,如果我们只需要模拟接口数据,可以将前缀修改为regex,即正则匹配(模糊匹配),可根据自己的实际需求,选择性去除请求携带的参数

创建一个后缀名为 .json 的文件,存放我们用来模拟接口返回的数据,根据约定好的数据结构和字段类型,自己去模拟数据,并将我们创建的文件,作为捕获到的接口数据,直接在开发阶段去使用即可

点击捕获的请求 - 点击下拉 - 点击 Find a file - 将我们创建的 .json 文件导入 - 点击 save 保存

此处模拟的接口数据,补图

 微信开发者工具查看我们调用接口获取到的数据(模拟数据),补图

 补充:EXACT全匹配可以用来代理接口地址的跳转,如开发环境想要代理到测试环境,我们不需要直接到配置中去修改,只需要捕获开发环境地址,再代理到测试环境地址即可(直接修改有时在开发中会忘记忽略,便直接提交到gitlab上,导致其他组员在拉取代码后也受到影响),补图

补充:不需要模拟的接口,点击去掉勾选即可(右边区域捕获请求置灰),不勾选即不启用捕获请求,拖拽时默认勾选(启用捕获)

 补充:模拟接口延迟操作

 开启延迟 Enable Latency - 右键需要延迟的捕获请求 - 点击设置延迟Set Latency -  输入需要延迟的毫秒数(1000 = 1秒) - 点击OK

 六、保存Fidder捕获的请求

建议新建个文件夹,用来保存各个版本Fidder所需要捕获的请求和模拟的数据文件,后续复盘或修复版本bug可以直接导入,不需要重新去捕获

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值