我想编写自动化测试以在模拟器上运行,以验证我的应用程序在网络连接自发断开时是否正常运行。为此,我想编写如下测试:
- 启用网络连接。
- 开始一些app网络操作,比如长文件下载。
- 禁用网络连接。
- 确认显示丢失的网络连接对话框。
我已经看到了各种 stackoverflow 答案,这些答案通过建议通过命令行手动禁用主机 PC 的网络连接来解决这个问题。这不能通过在模拟器上运行的测试来自动化,因为模拟器无法访问其主机 PC。并且在主机 PC shell 脚本中运行命令将很难尝试与仿真器测试自动同步。
或者,我看到了建议操纵模拟器的网络设置的答案,这些设置显然并没有真正禁用访问,它们只会导致显式networkInfo.isConnected()
的连接检查,比如报告断开状态。它们仍然允许双向通信。(例如,当模拟器网络访问被禁用时,浏览器仍然可以正常工作。)
有没有人能够构建在模拟器上运行的自动化测试,并在测试中根据需要实际打开和关闭网络访问?