我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。

我需要在真正的设备上测试它,而不是在模拟器上。


当前回答

运行>运行配置,选择Android应用程序,然后进入目标选项卡。按照图中所示进行更改。

其他回答

我为这个问题纠结了半天,终于想出了这个解决方案:

在真正的设备上进行测试并没有太大意义,因为你必须经历很多事情才能让它正常工作。实现真正测试的唯一合理方法是让你的手机连接到低质量的蜂窝网络,比如EDGE,如果你的电话公司提供这种网络的话。你可以试着在手机应用程序中拨打*#*#4636#*#* 最初的Android模拟器对于测试来说太慢了,并且不能实现比上面的解决方案更多的功能。

最好的方法就是使用Genymotion。这是一个Android模拟器,性能比原来的avd要好得多,个人使用的版本是免费的。

在Genymotion中创建虚拟设备后,只需通过本教程为设备设置代理。

在您的主机上运行一个模拟恶劣网络条件的代理服务器,如Crapify或Toxiproxy(我只测试了前者),这样就可以了。

更新:

我刚刚意识到,你也可以在真实的设备上选择同样的策略。我觉得自己像个白痴,没有早点意识到这一点。只要在你的电脑上启动一个Crapify代理,将你的手机代理设置为你电脑的本地地址,瞧,你的手机上就有了蹩脚的互联网。

你可以使用模拟器。看看这个页面:Android模拟器。请注意下面两个论点:

-netdelay <delay> Set network latency emulation to . Default value is none. See the table in Network Delay Emulation for supported values. -netspeed <speed> Set network speed emulation to . Default value is full. See the table in Network Speed Emulation for supported values. Speeds for reference in increasing kbps: UP DOWN -------- ---------- gsm GSM/CSD 14.4 14.4 hscsd HSCSD 14.4 57.6 gprs GPRS 28.8 57.6 umts UMTS/3G 384.0 384.0 edge EDGE/EGPRS 473.6 473.6 hsdpa HSDPA 5760.0 13,980.0 lte LTE 58,000.0 173,000.0 evdo EVDO 75,000.0 280,000.0 full No limit ∞ ∞

您是想测试没有网络连接,还是只是网络连接很慢?如果是前者,可以进入设置>无线和网络>飞行模式,打开飞行模式。这将允许您在实际设备上测试网络不可用性。

对于mac操作系统用户,你可以使用网络链接调节器,可以从苹果下载。将其设置为mac上的AP,任何设备都可以连接它。

你可以使用facebook的开源工具ATC http://facebook.github.io/augmented-traffic-control/

Facebook建立了一个叫做增强交通控制的东西。GitHub页面上的简要总结:

Augmented Traffic Control (ATC) is a tool to simulate network conditions. It allows controlling the connection that a device has to the internet. Developers can use ATC to test their application across varying network conditions, easily emulating high speed, mobile, and even severely impaired networks. Aspects of the connection that can be controlled include: bandwidth latency packet loss corrupted packets packets ordering In order to be able to shape the network traffic, ATC must be running on a device that routes the traffic and sees the real IP address of the device, like your network gateway for instance. This also allows any devices that route through ATC to be able to shape their traffic. Traffic can be shaped/unshaped using a web interface allowing any devices with a web browser to use ATC without the need for a client application.

你可以在GitHub上找到它:https://github.com/facebook/augmented-traffic-control

他们还为此写了一篇博客:https://code.facebook.com/posts/1561127100804165/augmented-traffic-control-a-tool-to-simulate-network-conditions/