在做手机或移动端APP的接口测试时,需要从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。如果当前项目没有接口文档,则可以使用fiddler对APP进行抓包确认。
在手机上对APP进行操作,然后在Fiddler中可以抓取对应的网络交互信息(一个功能中可能设计多个接口的交互)。在抓取的信息中可以看到接口请求方式、接口请求URL、接口请求参数、接口返回参数。
下面是如何使用fiddler对手机APP进行抓包:
1、fiddler手机抓包原理
在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。Fiddler 是以代理web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https。
因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。它还可以支持对手机应用进行http抓包的。
下面就是手机抓包:
浏览器的代理设置默认是关着的,win7谷歌浏览器“设置--高级--系统--打开代理服务器--局域网设置--代理服务器”勾上。代理开关为开:可以抓到包,代理开关为关:抓不到包。
2、前提条件:
1).电脑需要安装Fiddler
2).测试手机需要支持Wifi
3).测试手机与电脑需要同一网络
4).所测APP需支持代理
3、Fiddler基本用法
界面布局:
打开Fiddler后,在浏览器中做任意请求,即可被Fiddler记录,包括返回码,请求协议,主机名,请求地址等等,
可在请求区域查看详细的请求信息,在响应区域查看详细的返回结果。
如下图
4、Fiddler对手机抓包流程
第一步:对Fiddler设置为允许远程连接。
找到Tools->Fiddler Options->Connections,将Allow remote computer to connect 选中,点击OK,然后重启Fiddler。
如下图:
第二步:修改手机连接网络为代理模式。
打开正在连接的wifi,然后找到:
1、修改网络(一般长按就会出现)
2、点击显示高级选项-->代理-->手动
代理服务器主机名设为电脑本地IP地址,端口设为:8888
如下图
补充:查看本地IP:打开cmd,输入ipconfig回车,然后查找IPv4地址
如下图:
第三步:在Fiddler中验证。
在手机中用浏览器或者其他APP,做网络请求,即可在Fiddler中记录,
例如:在手机打开浏览器,用百度搜索,这时在Fiddler中就会记录下请求。
如下图:
还可查看不同格式的
5、Fiddler工具的优缺点
以上就是我在测试移动端APP时使用Fiddler进行抓包的常用方法和遇到的问题,下面再来说一说Fiddler的优缺点,以便大家能够在第一时间判断哪些情况下可以使用Fiddler而哪些情况是Fiddler无能为力的。
Fiddler之所能
查看Web流量及其顺序
查看每一对Request/Response的Header,Cookies,Cache,正文等信息及请求时间等
保存已经产生的请求序列用于后续查看或回放
解密HTTPS并查看其内容
修改Request/Response以满足特殊的测试或Hack需求
6、通过FiddlerScript和FiddlerExtention可以完成强大的可编程网络功能
Fiddler之所不能
Fiddler只能用于HTTP/HTTPS/FTP请求的debug,而对那些直接使用TCP协议,或者使用SMTP, POP3, Telnet, IRC等协议的数据包就无能为例了
Fiddler只能检测到通过Fiddler代理的流量
3、Fiddler所有的请求都是直接存储在内存中的,因此在处理很大的包时速度会比较慢
Fiddler是一个非常强力的HTTP协议调试工具,无论是用于网页测试还是客户端API测试都是一把利器,掌握好这个工具一定能让你在以后的工作中事半功倍。
上面是我收集的一些视频和面试题资料。
对于软件测试的的朋友来说应该是最全面最完整的面试备战仓库,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你
关注我的微信公众号【程序员二黑】免费获取