Fiddler Everywhere之AutoResponder功能详解

简介: AutoResponder主要用来mock接口的数据,在web调试的时候非常方便,比如你想验证前端列表展示有没有取错字段,你就可以mock接口返回结果,然后刷新页面后看看列表的数据是否变化。

先了解一下Fiddler Everywhere的基本用法,然后再看一下它的AutoResponder功能。

AutoResponder主要用来mock接口的数据,在web调试的时候非常方便,比如你想验证前端列表展示有没有取错字段,你就可以mock接口返回结果,然后刷新页面后看看列表的数据是否变化。


AutoResponder 请求匹配规则的常见用法

1、直接匹配*,拦截篡改所有请求


微信图片_20220113195754.jpg


此方法会拦截所有请求,不推荐使用,电脑上所有请求都会被拦截进行响应结果的修改。

该用法不太稳定,比如你一直不停的访问同类型的结果访问,就有可能出现无法响应的情况。用腾讯课堂的不同的连接测试过,有时候会偶现无法获取响应结果的情况。


2、匹配某个字符串 (不区分大小写)


微信图片_20220113195841.png


访问以下3个地址,都会自动返回执行的结果:

http://www.eryajf.net/63.html

http://www.eryajf.net/77.html

http://www.eryajf.net/56.html


微信图片_20220113195845.png


3、使用EXACT关键字进行完全匹配

以EXACT开头表示完全匹配,用法如下:


微信图片_20220113195848.png


4、使用REGEX关键字进行正则匹配

.+ :匹配一个或多个字符

.* :匹配0个或多个字符

^ :匹配字符串开始位置

$ :匹配字符串结尾位置

regex:(?inx).+\.(gif|png|jpg)$ #匹配所有gif|png|jpg结尾的请求


5、使用NOT关键字

如 NOT:8081  则表示请求url中没有包含8081的请求多会被自动响应


6、通过body中特定内容拦截请

假设现在有这么一个接口,url都是http://127.0.0.1:8080/server/doServer.do,具体的传参是在body里面去控制的 ,body里面有一个参数method,表示当前调用的是哪个接口,如果这个时候想根据body的内容去进行mock的话 ,可以使用如下的规则去进行配置:


微信图片_20220113195850.png


可以用类似下面的配置:

# URLWithBody:url地址 regex:^.*body中的参数值.*$
URLWithBody:http://127.0.0.1:8080/server/doServer.do regex:^.*method.*$
URLWithBody:regex:.*127.0.0.1:8080.* regex:^.*method.*$

这种场景适用于,url上面没法区分是哪个接口,需要通过body里面不通过的传参去模拟返回不同的数据的时候,可以使用这种匹配规则。url地址也支持用正则匹配。


7、通过Headers中指定的参数去匹配

使用方法如下:


微信图片_20220113195853.png


Fiddler软件中给出的样例是使用Header:Accept=html,即使用Header里面的Accept参数去校验,我测试过 ,在目前的1.0.2版本中使用Accept-Encoding、Accept-Language参数也可以匹配到 ,但是使用Header中的其他参数去匹配的话,目前是匹配不上的,因此这个用法要慎用,并不是支持header中的所有参数。


配置如下规则:Header:Accept-Language=zh-CN,zh;q=0.9,en;q=0.8


微信图片_20220113195855.png


配置好之后,再访问百度首页,出现的结果如下,页面显示的结果跟配置规则下的显示结果是一致的:


微信图片_20220113195858.png


AutoResponder 请求匹配规则的常见用法

1、直接返回某个指定的字符串(Return manually crafted response)


微信图片_20220113195902.png


2、使用某个指定的文件内容进行返回(Choose saved response file...)


微信图片_20220113195904.png


3、直接使用某个网页的地址替换接口返回结果


微信图片_20220113195907.png


访问效果:


微信图片_20220113195910.png


以上只介绍常用的用法,更多的规则匹配和详细的描述,请参考官网的介绍:

https://docs.telerik.com/fiddler-everywhere/user-guide/live-traffic/autoresponder



总结


    通过以上描述,相信大家对Fiddler Everywhere工具的Auto Response功能有了一定的了解,该功能主要用来mock服务的接口的数据,在做功能测试的过程中,,这个功能是非常实用的。下面为大家介绍一下我在实际工作中用到的几个简单的应用场景:


‍‍一、用于辅助测试,快速验证前端页面的一些逻辑处理是否符合预期

1、前端对某列数据做四舍五入的处理,一时之间找不到符合要求的数据的时候,就可以使用该功能,篡改接口响应结果给前端,从而验证是否有bug。

2、前端某列显示金额字段,当金额的数值超过某个值的时候,显示格式要进行转换,一时之间找符合要求的数据比较麻烦的时候,就可以使用工具的这个功能快速的辅助你进行测试。

3、前端更改了某个明细字段的长度,但是在测试环境可能汇总指标的值为0,导致你进不去明细页面,看不到效果,那么可以篡改响应结果,把汇总的值由0改成其他值,绕过前端的校验。


二、用于辅助验证后端的处理逻辑


1、登录后能点击哪些菜单或按钮,是通过后端接口返回的,没权限的时候,前端控制不可点击。那如果篡改后端数据,新加入一个没有权限的接口返回前端,然后在页面上再去操作的时候,查看后端是否对权限做了二次校验。

2、有时候为了测试方便,会将生产的部分数据导入sit环境进行测试,但是有的基础数据又没导入,可能会存在在页面查询不到生产的数据 ,因为查询条件中选不到生产的某个网点,或者说id不匹配,这个时候就可以把查询接口中的接口响应结果用生产的接口的数据替换一下进行返回。‍‍                                                                                                    






以上是小编为大家整理的Fiddler Everywhere工具的Auto Response功能的基本使用方法,并结合自己在项目中使用的场景进行了分享,这些用法同样可以用fiddler去进行实现。如果对大家有帮助,可以分享给身边的朋友一起学习喔!

相关文章
|
3月前
|
缓存 监控 算法
2023Fiddler抓包学习笔记 -- 环境配置及工具栏介绍
2023Fiddler抓包学习笔记 -- 环境配置及工具栏介绍
22 0
|
6月前
|
Web App开发 SQL 人工智能
抓包工具:charles安装 及 Fiddler 工具 404问题记录
Charles 是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。
|
9月前
|
小程序
fiddler系列之-fiddler对手机测试版本的小程序进行抓包
fiddler对手机测试版本的 http 请求的小程序进行抓包
Fiddler手机抓包配置指南
Fiddler手机抓包配置指南
862 0
|
Web App开发 Android开发 iOS开发
Charles浏览器抓包配置
Chrome 和 Firefox 浏览器默认并不使用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容,需要打开系统代理设置。 Ie浏览器和360浏览器,默认使用windows代理,可以直接进行抓包
250 0
Charles浏览器抓包配置
|
JSON 缓存 数据格式
抓包工具简单介绍和 fiddler 安装
抓包工具,是个特殊的软件,相当于一个 “代理程序”,浏览器给服务器发的请求就会经过这个代理程序,进一步的就能分析出请求和响应的结果如何。
抓包工具简单介绍和 fiddler 安装
|
存储 安全 网络安全
接口测试|Fiddler设置手机抓包
接口测试|Fiddler设置手机抓包
167 0
接口测试|Fiddler设置手机抓包
|
Web App开发 安全 Windows
接口测试|Fiddler抓包设置及证书配置
接口测试|Fiddler抓包设置及证书配置
109 0
接口测试|Fiddler抓包设置及证书配置
|
缓存 监控 JavaScript
Fiddler - 快速入门(抓包)
Fiddler - 快速入门(抓包)
176 0
Fiddler - 快速入门(抓包)
|
JSON 监控 JavaScript
测试工具Fiddler(三)—— 常见功能介绍
测试工具Fiddler(三)—— 常见功能介绍
316 0
测试工具Fiddler(三)—— 常见功能介绍