Hello!
在实际环境中经常会到一些如地铁、电梯或者是偏远地区网络不稳定的地方,在这种网络不稳定的地方,发起网络请求时往往会加载慢,掉包、网络延迟等等情况,这个时候应用很容易出现一些如加载错误到账界面异常、加载失败导致崩溃等严重问题,所以在测试的时候,需要经常模拟用户的网络使用情况去发起请求,测试在这方面的存在问题,从而优化产品。而模拟网络请求的方法有很多,下面说一下使用Charles的Throttle来模拟用户请求。
charles的Throttle功能说白了就是限制流量数据的大小传输,从而模拟网络传输速度慢的情况。但不会出现实际带宽只有2M,网速就能达到10M的情况,这个本质就是控制数据流量传输的,是不会提升网速的。
设置方法:打开菜单栏proxy->Throttle Setting…界面上的Enable Throttling即可,可以在Throttle preset上选择自带设置的配置,可以模拟手机上的2/3/4G的速度,这样就可以在网速慢的情况下查看请求的速度、加载情况、网络不稳定的情况
选择开启"Only for selected hosts",则可以单独对添加的hosts进行限速,不会影响未添加的hosts
-
Throttle preset—>预设置
- 提供了2/3/4G等设置参数值,也可以把预设置自定义参数保存下来,方面下次使用
- 预设置建议
-
-
Bandwidth(Kbps)—>带宽(千位/秒)
- 由该值控制数据参数速度
- download—>下载速度,指的是从网络上下载下来的速度
- upload—>上传速度,指的是把数据上传到网络上的速度
-
Utilisation(%)—>可用率(%)
- 带宽可用率,大部分modern是100%。
-
Round-trip latency (ms)—>往返延迟(Ms)
- 延迟,就是网络请求发起时,延迟多长时间去请求,例如设置10m,则发起请求时,延迟10秒,服务端才会接受到信息
-
MTU (bytes)—>最大传输单位(字节)
- 即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况
-
Reliability (%)—>可靠性(%)
- 指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
-
Stability (%)—>稳定性(%)
- 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
-
Unstable quality range (%)—>不稳定质量范围(%)
开启后,Charles界面的"绿色小乌龟"会在点亮状态,则表示已经开启限速了。