Fidder官网下载地址:Download Fiddler Web Debugging Tool for Free by Telerik
二、Fidder简介(个人理解)Fidder在客户端和服务端之间充当中间者的角色,客户端每次发送请求时,都会经过中间者(Fidder),再发送到服务端,当Fidder对客户端某一端口设置了捕获 *** 作时,会把客户端从对应端口发出的,原本应发送到服务端的所有请求进行捕获,再对对应接口数据进行模拟 *** 作之后,再返回给客户端。
三、为什么使用Fidder- 开发阶段:在确认接口数据结构时(接口评审 - 与后端确认接口数据结构和字段类型),我们可以根据约定好的数据结构,主动去模拟接口数据,并使用Fidder捕获接口并返回自己模拟的、且符合约定的接口结构数据,在开发过程中就可以直接使用模拟的接口数据字段,真正做到边开发边联调(模拟数据),在后续联调时,只需要关闭Fidder的接口捕获,在保证接口数据结构不变和数据字段类型正确的前提下,就可以获取到真实的且符合约定的数据结构,大大节省了开发成本和联调时间。
- 联调阶段:当第一次联调时,在保证接口数据结构和字段类型一致性的前提下,我们可以直接copy对应接口的真实数据,来替换我们自己模拟的数据,保证我们所使用到的数据都是真实数据,这样做的好处是,如果后续后端接口出现问题或者其他影响接口请求的情况时,我们获取真实的数据的来源不再唯一(依赖后端提供接口来获取真实数据),我们还可以使用Fidder捕获报错的、有问题的接口,转而使用自己copy的、已经替换了的模拟请求数据(此时的模拟数据是真实数据)继续联调开发,以此来保证我们的开发进度,大大减少了与后端之间的依赖性(只需获取一次,后续自给自足)。
打开微信开发者工具 - 设置 - 代理设置 - 代理 - 手动设置代理 - 输入地址:127.0.0.1:8888(Fidder默认地址端口)
Fidder设置捕获端口
启动Fidder - Tools - Options - Connections - 设置 8888(对应微信开发者工具设置的端口号)- 点击OK - 重启Fidder
五、Fidder捕获http、https请求
https请求捕获配置
Tools - Options - HTTPS - 开启如图配置 - OK - 出现d窗点击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可以直接导入,不需要重新去捕获
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)