如何避免Espresso中的异步操作问题?

时间:2016-10-17 16:18:10

标签: asynchronous android-espresso

我有Espresso的测试用例,我在第一行检查对话框是否显示

onView(withText(R.string.dialog_title)).check(matches(isDisplayed()));

和他们我点击按钮关闭对话框:

onView(withText(R.string.negative_button)).perform(click());

事实是点击操作总是在检查操作之前执行,因为两个操作都是异步执行的。当我不需要异步执行操作时,如何避免这个问题并保持执行行的顺序,因为它是在测试用例中写的?

1 个答案:

答案 0 :(得分:1)

您可以尝试自定义一个等待特定条件的IdlingResource类,直到View组件完全加载,然后才继续检查或执行操作。覆盖isIdleNow方法,该方法只有在已经加载视图时才返回true(或者您需要满足的其他条件)。