近日,因公司项目需要,要做弱网络测试,摸索了一番,在此记录一下。
首先是工具准备,在找工具这个路上费了挺大一番功夫,这里就简单介绍下吧,避免走弯路。App的弱网络测试,iOS可直接借助手机自带的网络状况模拟工具:设置->开发者(手机需调试过才有开发者选项)->NETWORK LINK CONDITIONER,可设置出/入的带宽、延迟、丢包,DNS延迟等参数,模拟所需的弱网。若无更多参数要求,如错包率、抖动等其它因素,NETWORK LINK CONDITIONER已可满足需求,无需再借助其它工具。但Android目前暂无该功能支持,则需借助外部工具来实现。下面介绍Android的弱网模拟方法。
笔者刚开始看的书是《移动App测试实战》这本书,里面介绍的是Network Delay Simulator这个工具,查了一下,网上也很多说这个工具很不错, 于是笔者就准备使用这个来做,但这放在早几年估计是没问题的,到现在就不行了。NDS下载后安装一直失败,后来才发现这个工具早就不维护更新了,最新版本只支持到win7 32位,已经不再适用。遂果断弃之~ 大家也不要掉坑里哦~
第二个是WANem,也是网上推荐比较多的。本篇就是介绍用这个工具来实现的。
一、WANem简介
官网:http://wanem.sourceforge.net/
由官网可知,WANem是开源软件,可用于模拟WAN特性,如网络延迟,丢包,数据包损坏,断开连接,数据包重排序,抖动等。从功能角度来看,WANem挂钩到Linux内核中,用于配置网络仿真特性,并用附加模块扩展功能。同时具有直观的Web界面以进行配置。
优点:安装简单,有装虚拟机经验的可以快速安装成功;
缺点:主要面向PC端,并不直接对网卡起作用,所以无法独立支持对移动端APP的测试(要想用于app测试,需要移动端做代理);并且需要手工配置路由表,较麻烦。