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