移动端弱网测试解决方案(ATC)

背景

用户使用app产品的过程中,不可能永远都处在wifi满格的情况下。在地铁里,巴士上,甚至是电梯,车库等等的场景里,我们的app会如何表现,这同样是我们的关注的重点。

工具选型

弱网测试工具有如下几种:
1. Fiddler
2. Network Emulator for Windows Toolkit(NEWT)
3. Augmented Traffic Control(ATC)

Fiddler是一个抓包工具,显然不是专门用来进行弱网测试的,术业有专攻,我希望有一个专门进行弱网测试并持续维护的工具。

NEWT和ATC分别是微软和Facebook推出的网络模拟工具。其中,ATC是一个搭建在linux上的一个web服务,搭建一套之后可以给多人使用,而且是开源的。于是,我毫不犹豫的选择了ATC。

安装

ATC项目地址:

https://github.com/facebook/augmented-traffic-control

安装方式可参考:

  • http://www.cnblogs.com/coderzh/p/AugmentedTrafficControl.html
  • http://blog.csdn.net/w263044840/article/details/46469285

安装实践过程以及碰到的问题:

1)驱动问题

首先,你得确认自己的无线网卡支持热点功能,安装驱动,并且保证驱动不冲突
比如:如果有wl的相关驱动,关闭

$ lsmod | grep wl
$ sudo modprobe -r wl
$ sudo modprobe -r cfg80211

然后加载b43驱动

$ sudo modprobe b43

2)创建热点问题

前面的推荐文章中介绍了热点创建方式,但还是太麻烦了,这里使用了create_ap进行热点的创建。
首先检查 有线宽带连接接口

$ ifconfig

可以看到这里有个p3p1是有线连接,然后查看无限连接接口

$ iwconfig

这里的是wlan2

之后建立wifi热点

#注意此处不要加-m bridge 参数,避免和后面atc启动的时候产生的桥接网络
$ sudo create_ap  wlan2 p3p1 mouni_test 123789456

这里我建议将启动任务放到后台

#注意此处不要加-m bridge 参数,避免和后面atc启动的时候产生的桥接网络
$ sudo create_ap  wlan2 p3p1 mouni_test 123789456 > /tmp/create_ap_log.file 2>&1 &

3)启动FACEBOOK ATC
由于这里使用docker进行部署,所以启动ATC的方式如下:

$ docker run -d --privileged --net=host -e ATCD_LAN=wlan2 -e ATCD_WAN=p3p1 atcd/atc

使用

ATC搭建是个比较麻烦的事,使用起来却极其方便,推荐文章中已有相关介绍。只需要设置相关的网络,测试人员接入测试即可,多人互不干扰。
下面是网络设置的参考:
https://github.com/facebook/augmented-traffic-control/tree/master/utils/profiles

你可能感兴趣的:(测试,架构设计,移动开发)