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()
。
此外,我尝试将Thread.sleep()
替换为像getInstrumentation().waitForIdleSync()
之类的东西,但仍然没有成功。
这是唯一的方法吗?还是我漏了什么?