我们进行客户端网络相关的测试时,肯定要更改服务器返回数据进行测试,但频繁更改线上服务器的数据肯定不现实,即麻烦又有风险,所以就需要我们自己做网络返回数据了。
自己改网络返回数据,一般有两种方法,一种是指向代理服务器,然后在代理服务器上进行数据修改,此时我们使用fiddler;另一种就是更改hosts文件,把服务器指向自己的测试服务器,然后在测试服务器上进行数据修改。
1. 使用fiddler的autoResponder
打开fiddler,点击要自定义网络返回的条目,点击右边工具栏中的Autoresponder,然后点击页面中的Add Rule按钮,此时就会在下面的编辑区显示刚刚添加的请求。
点击选中请求,然后编辑器下方就会出现链接的属性设置选项。
此处,上框中是要编辑的请求链接,下框是想要给的返回(可预选择的内容如下),选好之后点击save按钮就可以保存了。
常用返回的说明:
上面从200到502的都是既有的网络返回
Delay:100是设置超时返回时间,单位为毫秒
Redir指的是跳转到其它的页面
Find a file:选择一个返回的本地文件
还有,上框的内容,如果是以EXACT开头,则指的是精确匹配,也就是说只有完全匹配的链接才会执行该条规则;当然还可以使用正则表达式,用以模糊匹配,例如下面:
最后,要检查如下几个开关:
Enable automatic responses:这是总开关,如果取消勾选,那么所有设置的自定义返回规则都不生效了
Unmatched requests passthrough:没有匹配的请求是否放行,如果勾选它,那么所有没有匹配的请求都会照常工作;如果取消勾选,那么所有没有匹配的请求都会被拦截不会给任何返回。
至此,通过上面的设置后,就可以让命中规则的请求url返回指定的内容。
2. 使用fiddler中的返回断点
使用fiddler设置断点也可以修改response(返回内容)。
2.1. 设置请求断点的原理
Fiddler是个代理、可以捕获整个session,那么就可以在服务器返回内容之后进行中断,进而修改内容再放行给客户端,所以客户端拿到的就是修改之后的数据了。
2.2. 设置返回断点的三种方法
a) 打开Fiddler点击Rules->Automatic Breakpoint ->After Requests(这种方法会中断所有会话的返回)
再次点击Rules->Automatic Breakpoint ->Disabled就可以消除断点了
b) 在命令行中输入命令:bpafter xxx.xxx。xxx.xxx是想要中断的请求url。所以这种方法属于定制断点。若想消除该断点,在命令行中输入命令bpu即可。
c) 在auto responder中也可以添加: