【问题标题】:How can I test android application for network errors?如何测试 android 应用程序的网络错误?
【发布时间】:2011-09-28 00:50:47
【问题描述】:

我有使用 TCP/IP 来获取数据的内容管理应用程序。我想测试这个应用程序的一些网络问题,比如丢包和连接丢失。

是否有一些简单的方法可以模拟网络问题来测试 Android 应用程序?

在 DDMS 中有一些设备连接和延迟设置,但是看起来这不起作用。我可以设置 deniedunregistered 但从服务器获取是不变的。我正在使用 Windows 进行开发。


到目前为止我已经尝试过:

F8 - 3G 图标消失,但我仍然可以下载数据。

DDMS,电话状态更改 - 3G 图标消失,但我仍然能够下载数据。

设置、移动网络、数据已启用 false - 3G 图标消失,但我仍然可以下载

飞行模式 - 3G 图标消失,但我仍然可以下载

开发工具 - Wifi 切换 - 我收到错误:

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.

【问题讨论】:

  • 例如,为了测试网络连接的丢失,您可以通过按 F8 来停用模拟器中的 3G 连接。例如;启动你的应用程序,然后在下载数据的时候,尝试按 F8 关闭连接,然后你可以看到你的应用程序的反应
  • @Houcine:我认为您应该将您的评论重写为答案,这样您才能获得声誉。
  • ok Jan Hudec,我会把它写成答案:)

标签: android networking


【解决方案1】:

例如,为了测试 Internet 连接的丢失,您可以通过按 F8 从您的模拟器中停用 3G 连接。例如;启动你的应用,然后在下载数据的时候,尝试按 F8 关闭连接,然后你就可以看到你的应用的反应了

【讨论】:

  • 如果我按F8,3G图标消失,但我可以连接到服务器并下载数据。我试过设置并禁用移动连接,我试过启用飞行模式。我仍然可以下载数据。
  • 如果您按 F8 并且图标消失,因此您无法下载数据,它将停止。在设备上尝试,在启动下载后,停用 WIFI,然后查看
  • 如果我在下载前或下载时按 F8 没有任何反应。我刚刚尝试过网络浏览器。它显示对话框没有连接到网络并在后台加载页面。关闭对话框后,我就可以浏览网页了。看起来模拟器上的所有这些只是改变了连接状态,但仍然保持连接。
  • 是的,这就是为什么我告诉你在你的设备上测试它(如果你有的话),在开始下载你的数据后,禁用 WIFI 看看会发生什么:)
【解决方案2】:

我认为您不必担心 TCP 连接的数据包丢失,因为传输是可靠的(丢失的数据包已经处理并重新发送)。如果您使用的是模拟器,您可以在 DDMS 的 Emulator Control 选项卡的 Telephony Status 部分设置延迟。

【讨论】:

  • TCP 连接是可靠的......直到它中断。它保证订单,但不保证接收,因为它根本不能。所以如果连接超时,你永远不知道对方收到了什么,没有收到什么。根据特定的应用程序,它可能是也可能不是问题(并且有许多应用程序和协议出错了)。同样对于延迟很重要的应用程序,数据包仅需要很长时间才能到达和偶尔的数据包丢失的影响会非常不同。
  • 当然。我的意思是,除非连接超时,否则我们可以假设通过正常断开连接不会丢失信息(除非中间有鬼鬼祟祟的小鬼)。
  • 这正是粗心大意的陷阱。您发送了一些信息,两天后连接说它已断开。除非对方向您发送协议级别的确认信息,表明它拥有该信息,否则它很可能不会。
【解决方案3】:

您可以使用安卓Dev Tools App。 默认情况下在模拟器上,您可以在真机上复制/安装它。

它可以选择(除其他外)在特定时间定期切换 Wifi。

【讨论】:

  • 嗯,该页面没有提及任何与网络或 WiFi 相关的内容。但也许该工具的文档记录很差。
  • 在模拟器中,如果我打开 Wifi 切换开关,我会收到大量此类错误的垃圾邮件:09-27 16:43:31.353: ERROR/Connectivity(518): EVENT_TOGGLE_WIFI 09-27 16:43:31.363 : ERROR/WifiService(62): 加载 Wi-Fi 驱动程序失败。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-10
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
  • 1970-01-01
相关资源
最近更新 更多