Fiddler工具详解
1 菜单栏
一般来说,我们不关注建立通道的连接,通常会进行如下设置:
2 工具条
2.1 注释(备注)
做测试时,可以代替文本和贴图描述,直接将抓取到的包,写好注释,导出一个Fiddler文件,作为附件发给开发人员
2.2 数据重放(Replay)
Fiddler重放多次请求与JeMeter不同,Fiddler的多次是顺序执行(串行),而JeMeter是可以实现并行操作的。
2.3 移除
2.4 断点调试(Go)
2.5 解码(Decode)
2.6 会话保留
一般不常用
2.7 文本向导(TextWizard)
3 监控面板(会话列表)
会话列表(session List)存放Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的ID编号(#)、状态码(Result)、协议(Protocol)、主机名(Host)、URL、内容类型(Content-Type)、请求大小(BODY)、进程信息(Process)、自定义备注(Comments)等信息。
Fiddler添加自定义IP列:规则(Rules)——自定义规则(Customize Rules)——Ctrl+F查找“static function Main()”字符串。然后添加以下代码:
FiddlerObject.UI.IvSessions.AddBoundColumn("对应IP", 120, "X-HostIP");
4 命令行 + 状态栏
5 辅助标签 + 工具
5.1 统计(Statistics)
查看请求的性能信息(测试用的较少,前端开发看的较多):
5.2 检查器(Inspectors)
用来检查请求,双击一条请求即可跳转到检查器(最常用),以各种不同形式展示请求的请求报文和响应报文:
5.3 自动响应器(AutoResponder)
常用。用来拦截某一请求,进行以下操作:重定向到本地资源、使用Fiddler的内置响应、自定义响应。
当生产环境出了问题,需要调试,必然不能就在生产环境进行调试,因为如果进行修改,当前使用系统的客户将受到影响,此时就需要使用自动响应器来对其进行拦截,拦截之后进行重定向,重定向到本地或指定的响应器。
还可以直接拖动请求到自动响应的规则列表中进行规则制定。
当接口未做好时,自动响应器也可以mock(模拟)响应。
5.4 组合器(Composer)
常用。用来设计请求。设计请求报文,进行执行,以此来作为一个简单的接口测试工具,来做发包测试。
5.5 过滤器(Filters)
常用。使用前要先将使用过滤器(Use Filters)勾选上,使过滤器生效,做好过滤条件后,点击操作——立即运行过滤设置。它类似于sql语句中的where筛选条件,只不过它是多维度的组合条件。(当Fiddler抓不到包时,可能是被过滤器中的条件限制住了)
5.5.1 主机的过滤
5.5.2 客户端进程的过滤(用得不多)
6 断点
断点有两种设置方式:1、全局断点;2、局部断点。
6.1 全局断点
全局断点的特点是会将捕获的所有请求都加上断点,有两种设置方式:
1、在菜单栏中:规则(Rules)——自动断点(Automatic Breakpoints):
2、在状态栏中设置,点击第三个方格。
请求前断点可以在请求之前,对请求内容做篡改;响应后断点可以在服务器做出响应后,未发送给客户端时,对响应内容做篡改(可用于极端测试:将响应体直接置空,返回空列表给客户端,用断点方式不必对数据做修改)。
6.2 局部断点
局部断点无法通过设置完成,需要通过命令去操作:
bpu:请求前断点,命令格式:bpu URL部分内容
输入命令后,URL包含bpu后边内容的请求都会有断点,再次输入bpu取消断点。
bpafter:响应后断点(用法与bpu相同)。
7 弱网测试
可以在自定义规则中对时间做修改:在自定义规则中搜索“(m_SimulateModem)”: