Fiddler学习(四)--------使用fiddler打断点

1、打断点的做用


1.开发人员,调试,出错后在某个位置打断点调试代码;前端

2.测试人员,测试,绕过前端的限制,测试后端的反应;web

3.测试人员,构造数据,设置断点可篡改请求和返回的数据包。根据测试的不一样场景,有时须要在测试过程当中更改请求、或者更改响应内容,从而达到最终的测试目标。后端

2、全局断点


全部的请求在通过fiddler时都会被中断。打全局断点的话,是没法正常上网的。浏览器

全局断点对应的是工具栏模式:

Rules -> Automatic Breakpoints服务器

- Before Requests :拦截全部发送给服务器的请求session

- After Responses:拦截全部服务器返回的session工具

- Disabled :取消断点学习

或者是在下方直接设置,如图所示:测试

操做步骤:

一、Before Requests  :拦截全部发送给服务器的请求网站

1)工具栏Rules -> Automatic Breakpoints -> Before Requests

2)选中before requests选项后,打开百度搜索fiddler,返回fiddler看到以下T的标识,说明断点成功。

3)找到对应请求,点击webforms,能够看到wd是搜索关键字(fiddler),咱们修改成“软件测试”。点击绿色按钮【Run to Completion】(若是选择黄色的按钮“Break on Response”,请求照样能够发出去,可是会在服务器回送消息时进行一次拦截,此时你能够修改返回的数据。)

4)回到页面后,看到服务器返回给浏览器的是软件测试相关的数据。

原理:经过百度搜索fiddler,当请求到达fiddler时,fiddler进行拦截,修改请求的参数wd,点击绿色按钮,刚刚被修改的请求送达到服务器,服务器响应后将数据返回给fiddler,fiddler再返回到浏览器,浏览器进行渲染展现在页面上。

二、After Responses:拦截全部服务器返回的session

选择“Rules”--“Automatic Breakpoints”--“After Response”。此方法是在服务器接收请求,返回请求数据时被Fiddler拦截。用法同理与1

3、特定断点


使用场景:已经知道了某个接口的请求地址,只须要针对这一条请求打断点调试,fiddler只会中断该url发出的请求,其它请求正常被捕获,不会被fiddler拦截。

实际状况通常都是有针对性的对某请求或者某响应内容设置断点,因此说通常是使用命令行来打断点。

特定断点对应的是命令行模式:

- 修改Request:bpu http://www.cnblogs.com (拦截发给指定服务器的请求)

- 清除断点拦截:bpu

- 修改Response:bpafter http://www.cnblogs.com(拦截指定服务器返回的session)

- 清除断点拦截:bpafter

- 执行全部中断:go

实例

如须要对www.baidu.com请求进行拦截,能够执行命令“bpu www.baidu.com”。全部发往www.baidu.com的请求都将会被拦截,而访问其余网站则不会被拦截。

打开fiddler工具,使用命令“bpu www.baidu.com”对发往百度网站的请求进行拦截,而后打开浏览器访问百度,此时fiddler回话列表会出现拦截信息(图标如)。在浏览器上访问bbs论坛,发现并不会被拦截,只有发往百度网站的请求才会被拦截。

若是须要修改数据包的话,就按照以前的操做进行修改便可。(选中webfroms,找到数据进行修改,点击绿色按钮)

你们看的稀里糊涂的,建议本身上手操做操做,每每在操做的过程当中会豁然开朗。

本篇文章写得不是很好,若有问题但愿你们多多指正,我也会努力改进学习。