在测试过程中,有时候需要修改请求或响应数据,或者直接模拟服务器响应,此时可以使用fiddler进行此类操作。可以使用断点功能完成。
1 修改请求
1.1 设置断点
设置请求断点:Rules--Automatic breakpoints--before request(或者按F11键)这种方式的断点会对所有请求;或者在命令行中,输入bpu 域名,这种方式只会对配置的域名添加断点,访问其他的可以正常访问,不会有断点。
1.2 修改请求的Raw数据
设置了断点后,页面上的操作都会被拦截下来(比如一个查询请求,输入关键字后点击查询按钮,因为设置了断点,页面上看到的效果是在转圈圈,不会返回数据)。点击查询后,在Fiddler左边看到这个请求加了个断点的标志:
页面返回如下,正常查询会返回两条数据,由于拦截了请求并修改了入参,所有返回空数据
2 修改响应数据
在发起请求,需要修改响应数据时,可以设置请求前断点/响应后断点两种,区别就是在设置为请求前的断点时,需要多点击一步。在此用响应后断点。
2.1 设置响应后断点
Rules--Automatic breakpoints--after response(或者按alt+F11键),这种方式的断点会对所有请求生效;或者在命令行中,输入bpafter 域名,这种方式只会对配置的域名添加断点,访问其他的可以正常访问,不会有断点。
2.2 选中请求,进入Inpectors--Raw中修改响应信息
在这一步时一定要注意如果有“response body is encoded.click to ecode显示时,一定要先点击后,再去修改响应数据。未操作直接修改响应数据后,会导致响应存在问题。
在响应区点击SyntaxView,修改数据。
2.3 修改数据后,点击Run to Complete 返回响应数据并完成操作。
3 模拟响应结果
在一些情况下,不使用实际返回的请求数据,或服务暂时不能返回,可以使用fiddler进行模拟返回数据。
如果需要模拟返回自己配置的响应数据,需要先提前配置好文件,再进行读取。
3.1 设置响应后断点
3.2 选中请求,进入Inpectors--Raw中修改响应信息
如果是模拟返回请求失败相关的,可以直接在下拉列表中,进行选择;如果是自己定制的,点击“find a file”进行文件的选择。
选择列表项/文件后,点击Run to Completion返回响应数据,操作完成。
4 取消断点
Rules--Automatic breakpoints--disabled(或者按shift+F11键)
命令行:如果是before request---使用bpu取消;
如果是after response---使用bpafter