如何用fiddler造出满意的接口返回数据

为何要引入Fiddler工具?

前端页面有异常,多半跟返回数据有关,需截包查看接口出入参比对数据。对于正常操作很难出现(可能是今天是周六,但是我要股票交易的数据)的数据,需造数据(可以数据库造数据,但不一定有权限)。Fiddler可以截包,又可以=支持对服务器响应更改数据后返回很好的解决了以上问题。

目前我们这边前端app开发模式是“H5 + 壳子”的模式。大多数页面接口可以通过浏览器访问H5页面查看接口出入参。但涉及需要与真机或者壳子相关的接口访问,仅仅靠H5就无法模拟了。简单的解决方法是:使用真机 + fiddler截包工具。

一、如何使用fiddler截包?

1、下载安装好fiddler后,打开fiddler 配置端口

端口默认为8888,如果有冲突,可更改为其他端口

选择Tools à Telerik Fiddler Options… à Connections à Fiddler listens on port xxxx

如下图:

如何用fiddler造出满意的接口返回数据

2、配置抓取https

现在大多数都支持https,抓取https需配置fiddler

选择Tools à Telerik Fiddler Options… à HTTPS

如下图

如何用fiddler造出满意的接口返回数据

3、手机设置fiddler代理

手机连接与电脑连接同一个wifi(手机与电脑连接同一网段网络也可以),手机上设置代理地址、端口(fiddler机子的ip与fiddler配置的端口)。

如何用fiddler造出满意的接口返回数据

上述步骤配置好后,发出的接口请求会被fiddler记录下来。

二、如何用fiddler修改接口返回的数据

作为前端测试人员,仅仅会截包,可能还不够。很多时候,会有这么一个场景。需要造一个接口中某个字段的数据,不得不经过一系列繁杂的操作。还会有这么一个场景,你要造一组数据当日成交数据,但是今天是周六。你会选择无奈的摇摇头,还是会想办法造出数据呢?

1、 fiddler过滤出指定地址的请求数据

在 Filters下选择show only the following Hosts。在输入框中输入域名或ip,配置多个域名或ip中间用分号隔开。如下图:

如何用fiddler造出满意的接口返回数据

2、 过滤出指定请求接口的数据

如果一个页面请求接口数太多,你可能会考虑只过滤出某一个或某几个接口的数据。

在 Filters下的Request Headers栏勾选show only if URL contains。在输入框内,输入接口名称。过滤多个接口中间需使用空格隔开。

如何用fiddler造出满意的接口返回数据

3、 设置对接口返回数据拦截

左下角第三栏点击,只至出现如图图标(一个向下的箭头)

如何用fiddler造出满意的接口返回数据

4、 修改response数据。

请求数据发出后,服务端的返回数据会被fiddler拦截,如图出现一个向下箭头的图标:

如何用fiddler造出满意的接口返回数据

返回数据被编码,所以要先解码,如下图,点击即可。

如何用fiddler造出满意的接口返回数据

切换至Textview栏,对数据进行修改,得到你所需要的数据,修改完毕后,点击“Run to Completion”即可。

如何用fiddler造出满意的接口返回数据

至此,可以在前端页面查看数据篡改过的效果。