继续之前的Fiddler的使用教程:
如何模拟设置断点
在项目的实践过程中,经常遇到一个点击事件,触发两个并行的请求,比如A、B两个请求,哪个请求响应的比较快,则展示谁的数据。
在测试的时候,我们要测试三个场景:
用例编号 | 场景设计 | 预期结果 |
---|---|---|
test1 | 响应速度:A > B | 展示A |
test2 | 响应速度:A < B | 展示B |
test3 | 响应速度:A = B | 这种情况很临界,几率很小,暂时忽略不计 |
test4 | 响应速度:A B 在固定的时间内都没有响应 | 没有数据展示 |
如果完全依赖真实的网络,很难能够模拟去上述的场景,因为我们无法控制哪一个响应先返回,会很被动。
Fiddler有模拟断点的功能来帮助我们:
- 打开Fiddler,Rules->Automatic Breakpoints ->点击 Before Requests
- 这样所有的请求在发送请求之前就被阻止了,如下图所示,两个并行的请求A(21)、B(22)都被阻止了:
- 要模拟测试用例的场景test1,需要让A(21)响应请求,则需要将A(21)的阻止打开
- 双击A(21)的请求,在右下角点击绿色的Run to Completion
- 之后A(21)的请求继续自己的请求,返回200,请求成功,而B(22)的请求还在阻止
这样就可以很轻松的模拟,其他的测试用例场景了
需要强调一下:
大家可以看到Rules->Automatic Breakpoints ->之后有两个选项:Before Requests 、After Responses。这两个选项都可以断点,但是有什么不同呢,下面就为大家着重的介绍一下:
Before Requests :在请求发送之前,打断点,所以可以调整发送的参数;
After Responses :在响应回来之前,打断点,所以可以调整返回过来的数据;
两者断点的位置不一样,所以能够修改的数据不一样,大家可以根据自己的需求选择不同的断点方式。
这个功能在之后的教程中 抓包工具Fiddler的使用教程(七):打断点修改Response、抓包工具Fiddler的使用教程(八):打断点修改Request 将会具体的实践给大家。