前言

App 需要保证到不同网络环境下不会 crash,同时尽可能保证在弱网环境下相应功能正常。在测试阶段需要使用不同的工具模拟弱网环境,来测试 App 是否能够实现弱网环境正常。

弱网定义

一般将低于 2G 速率的网络定义为弱网,3G 也可以划分为弱网。常见的弱网场景有:地铁/巴士、电梯、楼梯间、停车场。

Charles 模拟弱网

具体操作

img
  1. 打开 Charles,点击 proxy,选择 Throttling Settings,进入网络设置页面【图 1】
  2. 勾选 Enable Throttling,此时相当于开启了限制网速的功能【图 2】
  3. 在 Throttle preset 选择不同网速,点击 OK【图 3】

字段说明:

  • Enable Throttling:可以指定域名拦截,也可以所有请求拦截。
  • Bandwidth:带宽,即上行、下行数据传输速度。
  • Utilistation: 带宽利用百分比,大部分 modern 是 100%。
  • Round-trip latecy:第一个请求的时延,单位是 ms。
  • MTU:最大传输单元,即 TCP 包的最大 size,可以更真实模拟 TCP 层,每次传输的分包情况。
  • Reliability:指连接的可靠性。这里指的是 10kb 的可靠率。用于模拟网络不稳定。
  • Stability:连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
  • Unstable quality range:不稳定数量范围。

具体的网络设置值参考:

img

参考

  1. 利用 Charles 模拟弱网环境