客户端&WEB网络测试方法杂谈(三)

来源:互联网 发布:大数据助推产业大升级 编辑:程序博客网 时间:2024/05/16 12:02

我们进行客户端网络相关的测试时,肯定要更改服务器返回数据进行测试,但频繁更改线上服务器的数据肯定不现实,即麻烦又有风险,所以就需要我们自己做网络返回数据了。

自己改网络返回数据,一般有两种方法,一种是指向代理服务器,然后在代理服务器上进行数据修改,此时我们使用fiddler;另一种就是更改hosts文件,把服务器指向自己的测试服务器,然后在测试服务器上进行数据修改。

1. 使用fiddlerautoResponder

打开fiddler,点击要自定义网络返回的条目,点击右边工具栏中的Autoresponder,然后点击页面中的Add Rule按钮,此时就会在下面的编辑区显示刚刚添加的请求。

点击选中请求,然后编辑器下方就会出现链接的属性设置选项。

此处,上框中是要编辑的请求链接,下框是想要给的返回(可预选择的内容如下),选好之后点击save按钮就可以保存了。

常用返回的说明:

  1. 上面从200502的都是既有的网络返回

  2. Delay:100是设置超时返回时间,单位为毫秒

  3. Redir指的是跳转到其它的页面

  4. Find a file:选择一个返回的本地文件

还有,上框的内容,如果是以EXACT开头,则指的是精确匹配,也就是说只有完全匹配的链接才会执行该条规则;当然还可以使用正则表达式,用以模糊匹配,例如下面:

最后,要检查如下几个开关:

  1. Enable automatic responses:这是总开关,如果取消勾选,那么所有设置的自定义返回规则都不生效了

  2. 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.xxxxxx.xxx是想要中断的请求url。所以这种方法属于定制断点。若想消除该断点,在命令行中输入命令bpu即可。

c)auto responder中也可以添加:

2.3. 设置返回断点的应用范围

上面已经说过了,设置返回断点并修改可以做客户端测试,和我们平时使用fiddlerAutoResponder功能上很类似,只不过设置返回断点的方式比设置AutoResponder更加快捷方便,相当于即时修改返回数据、当场可以看到客户端的现象。但也由于是即时修改数据,如果操作慢的话,可能会导致客户端获取超时失败。所以需要依照不同的测试场景合理使用这几种方法。

2.4. 设置返回断点的实例

实例使用一张图片来说明整个操作过程和方法。

3. 使用http测试服务器

http测试服务器,就是实实在在的服务器,上面搭建了http+php服务,只要本地设置了hosts(对于手机来说,必须root才能修改),就可以让指定的http访问到自己的服务器上,于是就可以随意修改了。

3.1. http测试服务器的搭建

http服务器,使用最多的是Linux+Apache,还有linux+nginxwindow+IIS也行,但性能上要比Linux差不少,并且涉及windows本身的防火墙,导致外网访问可能会有问题。

具体搭建方法,大家可以百度或搜狗一下,比较简单,就不在这里赘述了。

3.2. 设置本地hosts

hosts文件是操作系统中,指定域名访问指定IP的匹配对,windows操作系统中 该文件是在%windir%\system32\drivers\etc,android系统中是在/etc

下面以android系统简单说明一下如何修改:

  1. 手机必须root,方法就不说了,可网上搜索。

  2. 使用获取了最高管理员权限的文件管理应用,打开/etc,然后挂载读写操作,然后打开下面的hosts文件

  3. hosts文件中增加需要绑定的域名和IP,例如:

  4. 10.12.131.16 input.shouji.sogou.com

然后保存退出。最好再进入该文件看一下是否修改成功。

3.3. 自定制返回内容

经过上面的操作后,凡是发往input.shouji.sogou.com的请求,都会来到10.12.131.16了,所以下面就可以自定制返回内容了:在http服务器工作根目录中新建各种对应的目录和文件,就可以被访问了。

4. 其它注意点


如果即想使用http测试服务器,又想使用fiddler抓包,那么可以先设置代理到fiddler上,然后给fiddler所在机器上配置hosts。注意:如果在手机上即设置代理到fiddler,又设置了hosts,那么hosts是不管用的,也就是说代理是绕过hosts工作的。



原文链接

如需转载该篇文章,请注明来自“搜狗测试”


0 0
原创粉丝点击