-
一、基本原理
Fiddler 是个非常强大、好用的 Web 调试工具之一,它能记录客户端和服务器之间所有的http和https请求,可以针以特定的http和Https请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据。
-
二、设置断点
根据测试的不同场景,有时需要在测试过程中更改请求、或者更改响应内容,从而达到最终的测试目标。
(1)Fiddler中设置断点修改Request
第一种:打开Fiddler 点击Rules - Automatic Breakpoint - Before Requests(这种方法会中断所有的会话)
如何消除命令呢? 点击Rules - Automatic Breakpoint - isabled
第二种:在命令行中输入命令: bpu www.qq.com (这种方法只会中断www.qq.com)
如何消除命令呢? 在命令行中输入命令 bpu
例如:
- 用浏览器打开www.qq.com
- 设置断点 bpu www.qq.com ,回车
-
- 浏览器刷新www.qq.com,此时对发往腾讯网的请求进行拦截,fiddler会话列表出现拦截信息
- 点击该会话,右边跳转到“Inspectors”模块
- 在看到的Request信息后,Fiddler提供了方便的查看方式,其中包括Cookies、Raw、WebForms等。如果想要修改Header信息,可以在“Headers”模块中用鼠标右击请求行--“Edit Header”,就可以修改头信息了。如果是表单信息,则可以选择“WebForms”模块,对其进行修改。
- 修改好后,点击绿色按钮“Run to Completion”,发送请求,等待浏览器接收数据。请求发送出去后,可以看浏览器看修改后的页面。
(2)Fiddler中设置断点修改Response
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpafter www.baidu.com (这种方法只会中断www.baidu.com)
如何消除命令呢? 在命令行中输入命令 bpafter
三、利用Fiddler重定向到本地的资源
1、Fiddler 的AutoResponder 面板允许你从本地返回文件,而不用将请求发送到服务器上。
- 把某个请求,拖到AutoResponder面板,并勾选Enable rules
- 对该请求url进行设置
- 设置完后,保存,到浏览器刷新查看结果
2、修改请求,改写返回数据。
步骤:
- 选中某个请求,右击--勾选“Unlock For Ediing”
- 选择fiddler右侧下方reponse块下的TextView
- 修改数据后,去掉勾选“Unlock For Ediing”
- 选择右上方的AutoPesponder,勾选下方checkbox选项,并将请求托到下方
- 回到浏览器,刷新页面,就OK了
3、willow下抓包替换
对于一些有限制的请求,达到一定次数就不能进行操作时,可以进行替换操作,这样就不会消耗每天的请求次数
- 保存成功的请求(请求上右击---Request---Entire Request)
- 创建一个规则
- 把保存好的请求替换上去
四、增加HostIP列
测试过程中有时发现访问的数据不正确,怀疑是修改的host没有生效导致的。但无法查看手机端访问该数据页面的ip,所以一直无法确认该问题,这时就可以通过查看IP来确认是否进入了正确的测试环境。
点击菜单栏 Rules---Customize Rules…或直接点击右侧FiddlerScript面板
在static function Main()下添加下面这行代码,保存,重启Fiddler即可
FiddlerObject.UI.lvSessions.AddBoundColumn("hostIP",120,"X-HostIP");