fiddler是位于客户端和服务器端之间的代理。
-
一、B/S架构(浏览器/服务器)
- 编写程序部署到web服务器;
- web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理HTTP请求;
- 客户端通过HTTP协议获取服务器上的网页、文档等资源。
-
二、HTTP协议(超文本传输协议)
- 从万维网服务器传输资源到本地浏览器的传送协议;
- 基于TCP应用层的协议(高层协议),它不关心数据传输细节,主要用来规定客户端和服务器端的数据传输格式(标准),默认端口80;
- HTTP是基于请求与响应模式的、无状态的应用层协议。
主要包括:
请求报文:请求行(请求方式、请求地址、协议版本)、请求头、请求正文(get请求可能无)
响应报文:响应行(响应码等)、响应头、响应正文
-
三、配置环境
- 谷歌、IE浏览器:(在fiddler安装证书即可)
- 火狐(浏览器自行管理证书):
①选项 ——> 高级 ——> 网络 ——>(连接)设置 ——> 选择“使用系统代理设置”
②手动配置代理设置:
高级 ——> 证书 ——> 查看证书 ——> 导入fiddler根证书
-
四、工具使用
- Statistics:统计(可多选请求在下方展示图标查看相关请求参数);
- Inspectors:检查器,含请求报文、响应报文;其中raw为原始格式;
- AutoResponder:自动响应器——用于拦截某一请求
① 重定向到本地的资源;
② 使用fiddler的内置响应;
③ 自定义响应
重定向某地址调试:
①保存js文本另存为.js文件并修改相关内容;
②拖动该请求到AutoResponder;
③在规则第二行中find a file,找到文件并保存,刷新页面可查看效果。
请求模拟(Mock):拖动请求到AutoResponder后,右键Edit Response,修改请求后保存。
- Composer:设计者(设计请求/回放请求)
可通过修改请求直接向服务器发包,测试服务器返回数据是否正确(检测后端数据校验是否正确)
tip:多请求回放【Scrachped】:三击某一请求选中可回放。
- Filters:过滤器(用于过滤请求)
勾选上图选项后生效。
过滤条件:服务器【;间隔】、客户端进程、请求头、断点、响应状态码、响应类型和大小、响应头。
-
五、断点
- 全局断点(两种方式)
- 局部断点
-
六、弱网测试
-
七、APP抓包
安卓- 在fiddler中,允许远程连接手机(Tools中设置)。
- WiFi中设置手动代理;
- 本机和手机在同一个网段(连同一个WiFi);
手机安装证书方法:
在浏览器中输入本机ip:端口号,安装FidderRoot证书;在手机中找到加密与凭据,从存储设备安装。
IOS:基本操作一致,证书安装后需在证书信任中设置信任。
-
八、其他
- 辅助定位bug流程:
- 抓包
- 检查接口地址是否有误
- 检查响应状态是否存在异常
- 检查接口传递参数
- 检查接口返回数据
- 构建模拟测试场景(Composer、AutoResponder):
- 模拟发出请求,进行接口测试
- 某个接口限制同一个账号只能请求一次或同一个设备只能访问一个
- 存在页面输入限制
- Mock接口返回数据
- 需验证数据是否正常处理,但程序开发中,后台无法对发送请求给出响应
- 验证程序针对404、500、502等不同状态的处理机制
- 模拟发出请求,进行接口测试
- 前端性能分析及优化:Statistics、Timeline
- 网络相关数据参照:
-
九、willow插件(维护主机规则辅助插件)