移动端App抓包
在测试中通常会使用一些抓包工具协助我们进行分析请求或响应的数据,修改请求的数据和服务器返回的数据、构造测试数据等。
常用的抓包工具有 Fiddler、Charles
Fiddler下载地址:https://www.telerik.com/fiddler
Charles下载地址:https://www.charlesproxy.com/latest-release/download.do
Fiddler/Charles 抓包原理
作为客户端和服务端之间的HTTP代理角色,能够记录客户端和服务器之间的所有HTTP(S) 请求和响应。
抓取http请求
-
手机/模拟器与主机在同一局域网(同一网段)
-
Fiddler端设置允许抓取远程设备、端口号
-
移动端设置Fiddler代理地址、端口号
抓取https请求
-
移动端打开浏览器访问Fiddler/Charles地址
-
下载伪证书,安装伪证书
微信小程序抓包
IOS:安装好证书,直接可以抓取
Android:
安卓系统7.0以下:微信的任意版本,微信都会信任用户提供的证书;
安卓系统7.0以上:微信7.0以下版本,微信会信任用户提供的证书;
安卓系统7.0以上:微信7.0以上版本,微信只信任系统及自身内置的证书。
方案:使用VitualXposed框架+ JustTrustMe模块
抓包工具在测试工作中的应用
-
分析接口请求,协助做接口测试
在开发无法提供接口文档的情况下,测试可以通过抓包获取接口信息完成接口测试,比如Fiddler的inspectors(检查器)功能可以获取接口请求数据及响应数据。
-
辅助定位前后端问题
通过抓包可以获取接口请求与响应信息,定位是前端还是后端的问题。
-
检查请求:接口地址、传参
-
检查响应:响应头、响应数据
-
Mock测试
通过mock测试能够模拟后端接口数据。
使用场景:
(1) 接口测试过程中,后端接口还没有开发完成,此时就需要介入测试
(2)第三方接口不可用
(3) 构建大量的测试数据
Fiddler的AutoRespond组件可以帮助我们快速实现Mock测试。
-
接口异常测试
只通过页面我们无法覆盖到所有的测试场景,比如页面上做了限制手机号码只能输入11位,但通过抓包工具直接修改请求数据的内容我们就可以绕过前端页面的限制,对服务端的异常场景做测试。
服务器接口修改导致接口数据返回出现异常,客户端没有做容错处理发生崩溃。所有我们需要测试接口返回数据超长、某字段为空等情况下,客户端是否会发生崩溃。