前面两篇文章我们分别聊了如何设置请求断点和设置响应断点,以及篡改请求数据和响应数据来欺骗前后端,达到可模拟特殊场景测试效果,利用Fiddler的AutoResponder进行mock测试,无需构建大量的测试数据,大大提升了测试效率,实现了测试参与的前置,今天和大家再来聊一下AutoResponder还有哪些神奇强大的功能,拭目以待吧!!!
Fiddler响应拦截数据篡改,实现特殊场景深度测试(一)
利用Fiddler抓包调试工具,实现mock数据特殊场景深度测试(二)
一、AutoResponder页面功能解析
1.Enable rules(激活规则):勾选此选项,自动响应才会激活
2.Unmatched requests passthrough(跳过非匹配请求):如果不勾选此选项,那么抓包的时候,会返回
[Fiddler] The Fiddler AutoResponder is enabled, but this request did not match any of the listed rules. Because the "Unmatched requests passthrough" option on the AutoResponder tab is not enabled, this HTTP/404 response has been generated.
这句户的意思是,fiddler的自动响应激活了,但是请求没匹配到任何列表中的规则。而且因为跳过非匹配请求选项没有激活,所以产生了http/404返回结果。
3.Enable latency(激活延迟):勾选了这个选项,在规则里面就可以设置是立即返回响应,还是隔多少毫秒返回响应 ,
4.Add rule(加入规则):点击此按钮则会在规则框里插入一个新的规则
5.import(导入):支持导入之前捕获的saz文件
6.规则框:
规则框有四个列,下面解释每个列的意思:
if requests matches---这里显示的是匹配的条件
then response with---这里显示的是如果匹配条件,返回的文件
latency---这里显示的是延迟时间(毫秒),只有勾选了Enable latecy才会展示出来
comments---注释,这个是为了明白规则的含义,自己设置的文本
规则框右键菜单:
Remote(del) | 移除规则 |
promote(+) | 将选中的规则向上移动 |
demote(-) | 将选中的规则向下移动 |
clone | 克隆一个选中规则到规则框 |
Set latency | 设置响应延迟时间(毫秒) |
Set Comments | 设置一个注释,来提示当前规则的作用 |
Edit Response | 编辑当前规则设置的响应文件(当响应文件是文本文件时) |
Generate File | 生成响应文件(这个我不知道其作用,如果有知道的,望告知) |
Open Url | 使用默认的网页浏览器打开匹配条件中的网址 |
Find | 在规则框中寻找字符串,找到会高亮显示所在规则 |
Export All | 导出处当前规则为farx文件(Fidder AutoResponder XML) |
7.rule editor(规则编辑):第一行是设置匹配条件,点开下拉,会看到很多fidder自带的条件;第二行是设置返回,点开下拉,会看到很多fidder自带的返回。
8.test(测试):这个就是用来测试匹配条件的,第一行,url pattern设置匹配公式,第二行test url设置测试的网址。点击savechages,则会将条件替换为rule editor的第一行
9.Match only once(只匹配一次):勾选此选项,那么自动响应就只会响应一次。
10.Save(保存):按钮可以在更改了规则之后,更新规则。
二、AutoResponder其它神奇用途
1、选*bpu设置请求断点,每次请求,匹配到此接口都会拦截请求,可更改请求参数,再释放请求拦截,达到篡改请求数据的效果
2、选*bpafter设置响应断点,每次请求响应回来,匹配到此接口都会拦截响应,可更改响应数据,再释放响应拦截,达到篡改响应数据的效果
3、选*delay:100ms设置响应延迟时间,可任意更改延迟时间,单位:ms,模拟接口响应时长,测试前端页面加载中、超时后等效果
4、选*flag:ui-backcolor=#FFD700给请求URL加上醒目颜色,更清晰筛选接口,可更改任意颜色值
5、选http://www.example.com匹配映射地址,可更改,模拟请求地址映射为其它环境地址,我们可以看到我的接口地址是https://api.meichai.in/bonus/coinactivity/list,App操作请求后映射为http://www.example.com了。
假如一段时间内App test2环境有问题无法进行测试,但我们版本又部署在test2环境,必须要进行测试,这时候为了节约等待时间,只能通过App test1环境测试,借助模拟映射,匹配到test1接口地址,映射更换为test2接口地址,可正常进行测试
5、选502_Unreachable.dat 可模拟接口请求响应500时,前端页面的处理效果