我正在开发一个自动化测试套件来获取一些 Android 应用程序(我无权访问其源代码)的时间信息。
我还没有决定是使用 MonkeyRunner 还是 Robotium。我主要关心的是在我对 UI 执行操作(比如输入 URL)之后,如何确定 Android 何时满足我的请求,下一个活动的所有组件都已准备好使用,我已准备好获取结果并获取下一步操作(比如我请求的页面已完全加载,或者电子邮件已完全打开)。
对于网络浏览器,这很简单,我可以使用 onProgressChaged() 或 onPageFinished()。但我正在寻找一种适用于所有应用程序的更通用的方法。我认为 Instrumentation.waitForIdleSync() 或 Instrumentation.waitForIdle() 可能是我最好的选择。
但是,就我阅读的有关 MonkeyRunner 和 Robotium 的文档而言,它们似乎都没有很好地与 waitForIdle 集成。在 Robotium 中,我可以发送一些输入然后获取输出,但似乎没有一种简单的方法可以让我知道输出何时准备好,并且可能在那时调用回调。MonkeyRunner 在这方面也很相似。
所以我想知道是否有一种简单的方法可以让我知道我的请求什么时候得到满足(如用户所感知的那样),而无需我自己重新实现 Robotium 功能?
非常感谢。