Espresso 声称不需要 Thread.sleep()
,但是我的代码不工作,除非我包含它。我正在连接到一个 IP,当连接时,显示一个进度对话框。我需要一个 Thread.sleep()
调用,以等待对话解散。下面是我使用它的测试代码:
IP.enterIP(); // fills out an IP dialog (this is done with espresso)
//progress dialog is now shown
Thread.sleep(1500);
onView(withId(R.id.button).perform(click());
我已经尝试了这个代码没有 Thread.sleep()
调用,但它说 R.id.Button
不存在。我唯一能让它工作的方法就是打 Thread.sleep()
电话。
另外,我试过用像 getInstrumentation().waitForIdleSync()
这样的东西来替换 Thread.sleep()
,但仍然没有结果。
这是唯一的办法吗? 还是我遗漏了什么?
先谢谢你。