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

一、打断点的作用


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

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

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

二、全局断点


所有的请求在经过fiddler时都会被中断。打全局断点的话,是无法正常上网的。

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

Rules -> Automatic Breakpoints

- Before Requests :拦截所有发送给服务器的请求

- After Responses:拦截所有服务器返回的session

- Disabled :取消断点

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

操作步骤:

1、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再返回到浏览器,浏览器进行渲染展示在页面上。

2、After Responses:拦截所有服务器返回的session

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

三、特定断点


使用场景:已经知道了某个接口的请求地址,只需要针对这一条请求打断点调试,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,找到数据进行修改,点击绿色按钮)

大家看的稀里糊涂的,建议自己上手操作操作,往往在操作的过程中会豁然开朗。

本篇文章写得不是很好,如有问题希望大家多多指正,我也会努力改进学习。

猜你喜欢

转载自blog.csdn.net/loner_fang/article/details/83898899