app抓包、网络限速、接口mock、修改接口请求参数、修改接口返回参数

抓取手机网络包

  • 使用场景:
    测试手机app时,功能出现异常,通常就需要通过截取网络封包来分析、定位问题
  • 前提:手机和电脑连接同一个Wi-Fi
  • 在charles菜单中查看电脑IP地址:
Help -> Local IP Address
  • 在手机中设置代理(以iPhone为例):
设置 -> 无线局域网 -> 点击已连接的网络 -> HTTP代理 -> 手动
服务器:填写上面获取到的电脑IP地址
端口:8888
  • charles弹出提示框后,点击Allow按钮后,就可以抓取手机网络包了

抓HTTPS包

  • 电脑安装SSL证书(以Mac为例):
Help -> SSL Proxying -> install charles root certificate
  • 手机安装SSL证书(以iPhone为例):
1.在charles中获取下载地址:
Help -> SSL Proxying -> install charles root certificate on a mobile device...
2.在手机浏览器中输入地址并安装
3.手机证书信任:
设置 -> 通用 -> 关于本机 -> 证书信任设置

4.在charles中添加域名

proxy -> SSL proxy settings 
勾选`enable ssl proxying`
点击`add`添加相应域名地址

网络限速

  • 使用场景:
    有时需要测试手机app在网络状况比较差时的表现
    题外话,电脑端chrome可以通过开发者工具配置后达到网络限速的效果
  • charles开启/配置网络限速
proxy -> throttle settings -> 勾选`enable throttling`
`only for selected hosts`:指定host限速
`throttle conficonfiguration`:选择/设置 网速

MOCK

  • 使用场景:
    修改接口返回:比如一个支付订单有已过期、已失效、已支付、待支付、已取消、待审核等状态,不用mock就需要真正的生成这些不同状态的订单,而利用mock方法,就可以通过charles打断点,修改接口返回的各种状态达到覆盖测试要求
  • Breakpoints:适合做一些临时性的修改
选中需要mock的请求 -> 右键 -> breakpoints

菜单地址:proxy -> breakpoints settings

再次请求该接口时就可以编辑请求参数,编辑后点击execute发起请求,返回结果后,可以在response中编辑返回结果,编辑后再次点击execute后,结果才会返回到手机app

  • Map:长期地将某一些请求重定向到另一个网络地址或本地文件
map remote:Tools -> map remote
map local:Tools ->map local
  • Rewrite:对网络请求的返回结果进行一些正则替换
Tools -> rewrite
  • 修改网络请求内容:
    在charles中选中一条网络请求,右键,选择compose,修改请求参数后点击execute触发请求

你可能感兴趣的:(app抓包、网络限速、接口mock、修改接口请求参数、修改接口返回参数)