我开始使用Android
框架为Espresso
应用程序编写UI测试。我面临的一个问题是,测试通常会失败,因为检查屏幕上是否存在某些元素是在该元素显示之前发生的。就我而言-如果我运行测试10次-3-4次,它将失败,因为它在屏幕上找不到元素
[我知道Google
建议使用类似idling resources
的东西。但是他们也建议以修改您的应用程序代码的方式使用它-这是一个卑鄙的建议,我不想通过将我的应用程序代码与测试代码混合来创建意大利面条代码]
所以我的问题-是否可以通过使用空闲资源来“强制” espresso
等待屏幕上的元素?
[我也在考虑创建一些流利的等待元素的辅助方法-然后像使用它一样
waitForElement(onView(withId(R.id.elementID))
因此,我非常感谢您对此方向的任何建议。谢谢
当然,空闲资源很好,但是如果您不想更改代码,另一种方法是使用Thread.sleep()
使测试等待n秒