在测试过程中,有时候需要修改请求或响应数据,或者直接模拟服务器响应,此时可以使用fiddler进行此类操作。可以使用断点功能完成。

1 修改请求

1.1 设置断点

    设置请求断点:Rules--Automatic breakpoints--before request(或者按F11键)这种方式的断点会对所有请求;或者在命令行中,输入bpu 域名,这种方式只会对配置的域名添加断点,访问其他的可以正常访问,不会有断点。

1.2 修改请求的Raw数据

   设置了断点后,页面上的操作都会被拦截下来(比如一个查询请求,输入关键字后点击查询按钮,因为设置了断点,页面上看到的效果是在转圈圈,不会返回数据)。点击查询后,在Fiddler左边看到这个请求加了个断点的标志:

fiddler autorespnder 自动修改响应 fiddler怎么修改响应数据_命令行

页面返回如下,正常查询会返回两条数据,由于拦截了请求并修改了入参,所有返回空数据

fiddler autorespnder 自动修改响应 fiddler怎么修改响应数据_数据_02

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 返回响应数据并完成操作。

fiddler autorespnder 自动修改响应 fiddler怎么修改响应数据_命令行_03

3 模拟响应结果

        在一些情况下,不使用实际返回的请求数据,或服务暂时不能返回,可以使用fiddler进行模拟返回数据。

  如果需要模拟返回自己配置的响应数据,需要先提前配置好文件,再进行读取。

3.1 设置响应后断点

3.2 选中请求,进入Inpectors--Raw中修改响应信息

fiddler autorespnder 自动修改响应 fiddler怎么修改响应数据_请求数据_04

   如果是模拟返回请求失败相关的,可以直接在下拉列表中,进行选择;如果是自己定制的,点击“find a file”进行文件的选择。

  选择列表项/文件后,点击Run to Completion返回响应数据,操作完成。

4 取消断点

  Rules--Automatic breakpoints--disabled(或者按shift+F11键)

  命令行:如果是before request---使用bpu取消;

  如果是after response---使用bpafter