天天看点

Fiddler中设置断点修改Request和Response

Fiddler中设置断点修改Request

Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法

第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话)

如何消除中断呢?  点击Rules-> Automatic Breakpoint  ->Disabled

第二种:  在命令行中输入命令:  bpu www.baidu.com   (这种方法只会中断www.baidu.com)

如何消除命令呢?  在命令行中输入命令 bpu

Fiddler中设置断点修改Request和Response

使用举例:

以登录举例

1、中断请求:bpu  http://test.xxx.xxx.com/login.ht

2、选中这个请求

3、修改inspectors->raw里面的帐号密码

4、点击run to completion

5、取消中断:bpu

Fiddler中设置断点修改Request和Response

Fiddler中设置断点修改Response

当然Fiddler中也能修改Response:

  第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->After Response  (这种方法会中断所有的会话)

  如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled

  第二种:  在命令行中输入命令:  bpuafter www.baidu.com   (这种方法只会中断www.baidu.com)

  如何消除命令呢?  在命令行中输入命令 bpuafter,

Fiddler中设置断点修改Request和Response

如何模拟Before Requests设置断点

在项目的实践过程中,经常遇到一个点击事件,触发两个并行的请求,比如A、B两个请求,哪个请求响应的比较快,则展示谁的数据。

在测试的时候,我们要测试三个场景:

用例编号 场景设计 预期结果
test1 响应速度:A > B 展示A
test2 响应速度:A < B 展示B
test3 响应速度:A = B 这种情况很临界,几率很小,暂时忽略不计
test4 响应速度:A B 在固定的时间内都没有响应 没有数据展示

如果完全依赖真实的网络,很难能够模拟去上述的场景,因为我们无法控制哪一个响应先返回,会很被动。

Fiddler有模拟断点的功能来帮助我们:

1、打开Fiddler,Rules->Automatic Breakpoints ->点击 Before Requests

2、这样所有的请求在发送请求之前就被阻止了,如下图所示,两个并行的请求A(21)、B(22)都被阻止了:

Fiddler中设置断点修改Request和Response

3、要模拟测试用例的场景test1,需要让A(21)响应请求,则需要将A(21)的阻止打开

4、双击A(21)的请求,在右下角点击绿色的Run to Completion

Fiddler中设置断点修改Request和Response

5、之后A(21)的请求继续自己的请求,返回200,请求成功,而B(22)的请求还在阻止

Fiddler中设置断点修改Request和Response

6、这样就可以很轻松的模拟,其他的测试用例场景了 

需要强调一下:

大家可以看到Rules->Automatic Breakpoints ->之后有两个选项:Before Requests 、After Responses。这两个选项都可以断点,但是有什么不同呢,下面就为大家着重的介绍一下:

Before Requests :在请求发送之前,打断点,所以可以调整发送的参数;

After Responses :在响应回来之前,打断点,所以可以调整返回过来的数据;

两者断点的位置不一样,所以能够修改的数据不一样,大家可以根据自己的需求选择不同的断点方式。