我有使用TCP / IP获取数据的内容管理应用程序。我想测试这个应用程序的几个网络问题,如数据包丢失和连接丢失。
是否有一些简单的方法可以模拟网络问题来测试Android应用程序?
在DDMS中,设备有一些连接和延迟设置,但是看起来它不起作用。我可以设置被拒绝或未注册但是从服务器获取是不受影响的。我正在使用Windows进行开发。
到目前为止我已尝试过:
F8 - 3G图标消失,但我仍然可以下载数据。
DDMS,电话状态的变化 - 3G图标消失,但我仍然可以下载数据。设置,移动网络,数据启用错误 - 3G图标消失,但我仍然可以下载
飞机模式 - 3G图标消失,但我仍然可以下载
开发工具 - 无线切换 - 我收到错误:
09-27 16:43:31.353: ERROR/Connectivity(518): EVENT_TOGGLE_WIFI
09-27 16:43:31.363: ERROR/WifiService(62): Failed to load Wi-Fi driver.
答案 0 :(得分:2)
用于测试丢失的互联网连接,您可以通过按F8从模拟器中取消激活3G连接。例如;启动您的应用程序,然后在下载数据时,尝试通过按F8禁用连接,然后您可以看到您的应用程序的反应
答案 1 :(得分:1)
我认为您不必担心TCP连接丢包,因为交付可靠(丢失的数据包已经处理并重新发送)。如果您使用的是仿真器,则可以在DDMS中的“仿真器控制”选项卡的“电话状态”部分中设置延迟。
答案 2 :(得分:1)
您可以使用Android Dev Tools App。 默认情况下,它位于模拟器上,您可以在真实设备上复制/安装它。
它可以选择(以及其他方式)定期切换Wifi一段时间。