Fiddler界面工具栏介绍
(1)WinConfig:windows 使用了一种叫做“AppContainer”的隔离技术,使得一些流量无法正常捕获,在 fiddler中点击 WinConfig 按钮可以解除这个诅咒,这个与菜单栏 Tools→Win8 Loopback Exemptions 功能是一致的
(2)气泡按钮,给session list中的会话添加备注。选中一条回话,再点击该气泡按钮可直接添加备注内容。添加成功后将会在Comments栏下查看到该备注
(3)Replay回放按钮:当我们需要再一次对某个请求进行发送的时候,Fiddler提供了回放的功能可以再一次发送请求。(快捷键R)
shift+r 可以选择对该接口发送几次请求,及简单的压力测试
ctrl+x 删除所有请求
shift+delete 删除非选中的请求
delete 删除选中的请求
(4)X: 清空监控面板(Ctrl + X);可以清除面板上全部或某些请求。
(5)Go按钮: 是调试debug按钮,让请求断点继续往下走。结合状态栏使用。在状态栏第三格点(底部状态栏)一下,箭头朝上打叉,表示请求在发送的阶段有一个断点,再按下向下的是请求回来的时候产生一个断点。比如朝上的,用replay功能重播,但是请求没有发出去,想让断点继续走,按一下go就可以了。类似调试代码中的debug功能。)
通过结合状态栏中的按钮,可以调试时请求的状态进行拦截,上图状态栏处的箭头向上,表示拦截该请求发送时候。
上图找过你该状态栏箭头向下,表示Fiddler拦截请求回来的时候。放行断点的时候单击上方的GO的按钮即可。
(6)Stream:表示用来模式切换,在流模型和缓存模式下进行切换,默认是缓冲模式(一般用不到它)
流模式:理解成为一种实时通信的模式,有请求就有返回,也就是实时返回
缓冲模式:等待所有的请求都到一起在返回,也就是等所有的数据都准备好了以后才返回给客户端
(7)Decode:将http请求的东西解压出来,方便阅览。
(8)Keep All Sessions:Fiddler默认保存 All sessions,需要注意的是Fiddler保存的会话状态越多,占用的内存越大。如果性能不是特别好,建议不要保存所有会话
(9)Any Process:过滤请求(靶心形状按钮是帮我们过滤不想看到的进程发出的请求,只保留我们要看到的进程的请求。方法是比如只想看到谷歌浏览器请求,把靶心拖动到谷歌浏览器放开即可。)该功能可以只捕获某个客户端或进程发送的请求,点击Any Process拖动鼠标到指定客户端或者进程上。
(10)Find:查找会话,并默认黄色标识该会话
(11)Save:保存按钮可以对捕获到的会话进行保存。保存后只需要把保存的saz文件打开即可
把保存的会话导入到fiddler会话中
(12)截图:照相机按钮是保存截图功能,五秒之后帮我们把截图保存下来。
(13)计时器:计时器,左键单击一下开始,再单击一下停止,右键清零
(14)Browse:快速启动浏览器(也可选择下拉框中别的浏览器:IE,火狐,谷歌,edge等)
(15)Clear Cache:清除 WinINET 的缓存,按住 CTRL 键点击可以清除已经存在的 cookies
(16)TextWizard:此工具可以将某一编码过的或者未编码过的字串拿到此处解码和编码;
在菜单栏中的 Tools 中也有此项可以打开
(17)Tearoff:此功能用来将右边栏里的请求和响应部分给单独拆成一个新窗口,方便视察
(18)MSDN搜索:可以进行搜索功能。原版的话平时几乎不会用到该功能。
(19):fiddler 的在线帮助网站
(20):鼠标悬停显示本机的一些ip信息
(21):用来关闭工具栏的按钮,在 View 中可以打开工具栏
点击关闭不展示工具栏;如下图:
在View 中可以打开工具栏Show Toolbar
Fiddler 底端状态栏
(1)黑色(控制台):可以在里面输入命令行,如输入help回车之后,在浏览器打开使用说明
(2)Capturing:此处与菜单栏中 File→Capture Traffic 效果是一致的,默认底端状态栏此处是有 Caturing,有它才表示 fiddler 捕获请求
(3)All Processes:这里有 All Processes,Web Browsers,Non-Browser,Hide All 几个选项,这个几个选项顾名思义,但要注意的是这些不是筛选当前 session 框中的 session,而是选中需要筛选的状态之后,后面的请求会按照此状态来筛选;
(4)数字:第一个数字表示这一个请求,第二个数字表示 session 框中共有多少 session
(5)url:此处显示请求的 url 网址
会话面板
#:序号
Result:HTTP响应的状态
Protocol:协议类型(HTTP/HTTPS)
Host:请求地址的域名
URL:访问网址,请问服务器路径和文件名,包括GET参数
Server IP:请求的ip地址
Body:请求的大小,以byte为单位
Caching:请求的缓存过期时间或者缓存控制
Content—Type:请求响应的类型
Process:发出此请求的window进程以及进程ID
Comments:用户通过脚本或者右键菜单给此session增加的备注
Custom:用户可以通过脚本设置的自定义
右键 Session 框
在session一栏中选中一个请求右键点击会出现
(1)Decode Selected Sessions:这里 Decode Selected Sessions 是将选中的 session 进行解码,这样在响应中出现的乱码也可以成功被解码
(2)AutoScroll Session List:AutoScroll Session List 是默认勾选,session 滚动条自动滑动;响应的信息会自动添加到会话栏下方
(3)Copy:Copy 可以 copy 一个 session 中各个你需要的东西
(4)Save:Save 可以保存相应的文件
(5)Remove:移除
(6)Filter Now:过滤当前 session
(7)Comment…:添加评论注释
(8)Mark:将选中的 session 标记成不同的颜色
(9)Replay:请求重发的相关功能
(10)Select:选择需要的 session
(11)Compare:选中两个 session 进行比较
(12)COMETPeek:COMETPeek 命令会保留正在执行的响应的“快照”,在响应完成前就可以查看部分内容。当 web 应用采用 COMET 模式以流式向客户端返回数据时,可以使用该命令。由于“流式”的含义就是永不结束,直有当服务端停止连接后,Fiddler 才会返回响应
(13)Abort Session:终止当前正在执行的请求
(14)Clone Response:当 session 列表选中两个 session,并且其中一个 session 在断点处终止,而另一个 session 已经运行完成时才有用,该命令会把已完成的session 响应拷贝给暂停运行的 session
(15)Unlock For Editing:使 session 的请求和响应都可以在 Inspector 中编辑,这个还是蛮有用的
(16)Inspect in New Window…:在一个新的窗口中来查看请求信息
(17)Properties…:session 的属性窗口,显示当前 session 的属性
右侧高级工具栏
(1)Get Started:主页面
(2)Statistics:请求统计视图,用来查看某个页面所有请求的从第一个请求开始到最后一个请求结束的响应时间;用法:Ctrl选中需要的会话请求,点击该按钮即可
(3)Inspectors:会话检查器,点击会话内容默认此选项
(4)AutoResponnseder:重定向响应选择,可修改返回修改后的响应数据;常用方法在本地修改响应信息,然后根据指定的请求把本地的响应文件返回
(5)Composer:自定义请求,用于请求发送
(6)Fiddler Orchestra Beta:待理解,暂时不会,先放个链接https://zhuanlan.zhihu.com/p/417556751
(7)FiddlerScript:Fiddler本身配置的相关脚本,可以修改Fiddler的一些功能,如弱网测试的网速限制
(8)Log:Fiddler日志
(9)Filters:过滤功能,规则说明如下展示
1) Hosts:主机 过滤
- No Zone Filter :不过滤
Show only Intranet Hosts :只显示内网主机的请求
Show only Internet Hosts :只显示外网主机的请求
- No Host Filter :不过滤
Hide the following Hosts : 隐藏文本框中的相关主机请求
Show only the following Hosts :显示文本框中相关的主机请求(多个用分号分开)
Flag the following Hosts :标记(高亮)显示文本框中的主机请求
2)Client Process :客户端过滤
Show only traffic from :只显示指定客户端的请求,右侧有当前的 Windows 进程可选择
Show only Internet Explorer traffic : 只显示 IE浏览器请求
Hide trafficfrom service host :隐藏来自service host的请求
3)Request Headers :请求头过滤
Show only if URL contains :只显示包含该字段的URL请求
Hide if URL contains :隐藏包含该字段的URL请求(多个用空格分开)
Flag requests with headers : 标记特定header的请求,如cookie,token
Delete request headers :删除请求中的Header字段(如测试时删掉URL中的cookies信息,用来判断服务器是否有做校验功能)
Set request Header :在请求header中添加字段,用途与上一致
4)Breakpionts :设置断点
Break request on Post :对Post请求设置断点
Break request on GET with query string : 对Get请求设置断点
Break on XMLHttpRequest : 对Ajax请求设置断点
Break response on Content-type:对匹配Content-Type字段的响应设置断点
5)Response Status Code :响应状态码过滤
Hide success(2xx) : 隐藏状态码为2xx的请求
Hide non-2xx : 隐藏状态码非2xx的请求
Hide Authentication demands(401,407) : 隐藏认证(响应状态码为:401 407)请求
Hide redirects(300, 301, 302, 303,307) : 隐藏重定向(响应状态码为:300 301 302 303 307)请求
Hide Not Modifield(304) : 隐藏(304)请求。
6)Response Type and Size :通过响应类型和大小过滤
Show all Content-Type : 显示所有类型Content-Type的请求
Show only IMAGE/* : 仅显示响应类型为图片的请求
Show only HTML : 仅显示响应类型为HTML的请求
Show only TEXT/CSS : 仅显示响应类型为TEXT/CSS的请求
Show only SCRIPTS : 仅显示响应类型为SCRIPTS的请求
Show only XML : 仅显示响应类型为XML的请求
Show only JSON : 仅显示响应类型为JSON的请求
Hide IMAGE/* : 隐藏所有响应类型为图片的请求
Hide smaller than : 隐藏小于指定大小响应结果的请求
Hide larger than : 隐藏大于指定大小响应结果的请求
Time HeatMap 时间热图
Block script files : 阻止返回JS文件
Block image files : 阻止返回图片文件
Block SWF files : 阻止返回SWF文件
Block CSS files : 阻止返回CSS文件
小技巧:这个功能可以测试CSS、JS等加载失败的情况下页面的展示情况。
7)Response Header :响应头操作
Flag responses that set cookies : 标识(斜体)响应中有cookies信息的请求
Flag responses with headers : 标记(加粗)响应header中带有特定字段的请求
Delete response headers : 删除响应header中有指定字段的请求
Set response header : 在响应header中添加指定字段
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!