常借用Charles做这些事情 :
- 抓取 Http 和 Https 的请求和响应,抓包是最常用的了。
- 重发网络请求,方便后端调试,复杂和特殊情况下的一件重发还是非常爽的(捕获的记录,直接repeat就可以了,如果想修改还可以修改)。
- 修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。
- 网络请求的截获和动态修改。
- 支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。
- 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试);
- 可以抓手机端访问的资源(如果是配置HOST的环境,手机可以借用host配置进入测试环境)
抓包工具在移动端测试工作中的意义。
1、抓包工具(常用的有Charles和Fiddler)的原理大概是:把PC台式机作为一个上网的中转点,手机上网的时候通过PC来上网(就是代理),所以抓包工具可以看到手机上所有的网络流。当然一个比较高端的网络还是抓不到的,需要更高级的抓包工具。但是掌握Charles或者Fiddler足够应付日常的移动端测试工作。
2、为什么要使用抓包工具?因为我们app的大多数页面是,客户端发请求-->服务端收到请求,返回结果(通常是json,部分html)-->客户端收到数据,进行处理,页面展示。当我们发现app有问题,抓包可以很方便的定位,到底是发出去的请求格式参数有问题呢?还是服务端返回的数据问题?还是返回的结果没问题,客户端处理有问题?另外抓包工具还有重定向的功能,可以把返回的数据修改格式,修改返回内容,可以很方便的进行测试。
原文链接:https://blog.csdn.net/tailai322/article/details/80614634
Charles安装步骤:
- 下载charles.zip压缩文件,放在电脑的一个路径下,解压charles.zip文件;
- 打开charles文件夹下的charles.exe文件;
- 点击工具栏的“Proxy”→“SSL Proxying Settings”→“add” _ Host: 输入 【*】 ; Port: 输入【443】 →点击“OK”保存,图示如下:
- 获取IP地址:Help-Local IP Address
- 安装证书
- ①电脑安装证书:
- ②手机安装证书
注:可以选择Save Charles Root Certifacate...下载证书到电脑,直接用USB导入到手机里安装即可,比直接从手机浏览器中下载更方便。如上图所示:连接着代理,之后在浏览器中输入网址:chls.pro/ssl,进行证书的下载安装;
安装手机证书的具体操作:
- 确认PC和手机在同一局域网
- 查询PC的IP
- 在手机端,配置代理。iPhone和Android的设备都是进入wifi,点击设置wifi,部分Android设备是长按,多试试找一下怎么进入wifi设置。然后输入刚才查到的PC的ip地址,端口默认是8888
- 配置好代理之后,手机触发一下网络请求。PC上的Charles会弹出确认对话框,点击Allow就可以了。在Charles看到有数据的话,那就是已经配置成功了,可以抓包。注:如果抓HTTPS,需要安装证书,点击help中的安装远程证书。
- Map Local,这个功能可以把本来应该从服务端返回的数据重定向到本地的一个文件。找到需要重定向的api,进入Response,把里面的文件保存到本地。
- api右键-选择Map Local。选择刚才保存好的那个文件。【注意:api里面某些参数可能每次都会变化,例如时间之类的,这种变化的参数,可以用*号代替。例如ts=*
- 这时候再次触发手机上对应的那个功能,就会看到api的icon已经边了,那就成功了。接下来,你想怎么测试就怎么测了。
- Map Remote,功能和使用上都与Map Local类似。一个是重定向到本地文件,一个是重定向到任意域名。这种通常用来模拟服务器炸了,无响应等之类的服务器抽风的情况。
→iOS:
1、下载并安装证书(抓取HTTPS需要证书):
①确保手机WiFi连接着电脑的代理(手机和电脑处于同一局域网),手机WiFi中设置代理,IP地址为电脑的IP地址,端口默认为:8888
然后在浏览器中输入:chls.pro/ssl,点击【前往】,拒绝点击搜索的快捷入口
②根据提示安装文件,安装完成后出现已验证后,进入手机-通用-关于本机-证书信任设置,打开按钮
配置好代理之后,手机触发一下网络请求。PC上的Charles会弹出确认对话框,点击Allow就可以了。在Charles看到有数据的话,那就是已经配置成功了,可以抓包。
→安卓(以华为Mate 9 为例):
Android和iOS类似
PS:
1、电脑浏览器出现以下页面的原因是,charles开启了 电脑的代理连接,如果不需要,可以在charles的工具栏中,点击“Proxy”,把 Windows Proxy前面的√ 勾选掉,就可以了。
操作步骤
激活方法:
// Charles Proxy License
// 适用于Charles任意版本的注册码,谁还会想要使用破解版呢。
// Charles 4.2目前是最新版,可用。
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
本方法通杀charlse系列激活问题。