本文重点在于市面上常用的弱网测试工具调研内容和其中部分工具简单的使用教程。
一、工具调研结论
综合来说,较为推荐QNET和Charles,鉴于目前QNET不太能用,所以大家日常可以用用Charles。
二、部分工具基本能力概要
三、常见弱网测试工具对比
三、部分工具使用方式和简单分析
一、QNET
QNET首次登陆:
需要注册WeTest平台账号,然后使用QQ登录(TAPD登录需要员工TAPD账号)
登录成功后:
需要选择测试程序,然后开启悬浮窗,选择测试的网络,点击开始测试,自动拉起测试程序,显示弱网模板控制悬浮窗,以及弱网模板信息悬浮窗。
左边悬浮窗是控制悬浮窗,可以下拉即时切换弱网模板,双击Q按钮可以切回QNET应用,点击暂停按钮可以停止弱网状态恢复正常网络;
右侧悬浮窗显示当前的模板名,实时延迟,实时网速,以及当前模板的具体参数;
QNET有预设模板,不可删除,可自定义添加。
二、fiddler
弱网模拟设置:
打开Fiddler,Rules->Performance->勾选 Simulate Modem Speeds,勾选之后访问网站会发现网络慢了很多。
使用Fiddler调节网络参数:
Rules—>Cutomize Rules打开CustomRules.js 文档。
需要通过修改代码参数来完成网络设置:
如有更高阶的诉求,需要写脚本。
三、Charles
弱网模拟设置:
打开Charles,proxy- throttle settings。
参数修改和设置参考:
配置参数解析:
bandwidth —— 带宽,即上行、下行数据传输速度。
utilisation —— 带宽可用率,大部分modern是100%。
round-trip latency —— 第一个请求的时延,单位是ms。
MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况。
Releability —— 指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
Stability —— 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
四、Clumsy
更适用于专业开发场景
使用时,往往会在本地搭建一个服务器,此时只要打开clumsy,在过滤条件中设置为如下:
通过lag选项可以设置延迟时间。需要注意的是,由于监听的是本地的数据包,数据发送和接收都会被监听,因此如果设置lag的delay为50ms,实际造成的延迟将是100ms。
还可以通过设置其他选项设置其他的网络过滤条件进行测试。
clumsy可支持的网络控制功能:
1、延迟(Lag):把数据包缓存一段时间后再发出,这样能够模拟网络延迟的状况。
2、掉包(Drop):随机丢弃一些数据。
3、节流(Throttle):把一小段时间内的数据拦截下来后再在之后的同一时间一同发出去。
4、重发(Duplicate):随机复制一些数据并与其本身一同发送。
5、乱序(Out of order):打乱数据包发送的顺序。
6、篡改(Tamper):随机修改小部分的包裹内容。
五、Network Link Conditioner
点击地址: https://developer.apple.com/downloads/ 获取苹果开发者网站提供的下载 Network Link Conditioner 页面可下载安装包。
安装后,打开,开始设置:
六、Network-Emulator-Toolkit
windows可安装的工具,可以用来设置丢包功能。
通过设置电脑网络,再将移动设备接入共享网络的方式进行弱网模拟。