等待Espresso测试中的异步操作

时间:2018-07-19 19:14:42

标签: java android automated-tests android-espresso

我有espresso的{​​{1}}测试:

Android

我需要使用 @Test public void ExternalBankAccountDetailsFragment_InfoShown() throws InterruptedException { // SETUP mockRequest(); clickOnItem(); mActivityRule.getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); Thread.sleep(100); // CHECKS onView(withId(R.id.view)).check(matches(hasDescendant(withText("test")))); } 来等待Thread.sleep的呼叫。但是我知道这不是一个好习惯。我熟悉async,但无法使用它,因为我必须更改代码才能使用它(例如IdlingResources中的CountingIdlingResource使用情况)。 如何避免使用callback()?

1 个答案:

答案 0 :(得分:1)

最后,所有解决方案都将执行类似Thread.sleep的操作。问题是:您怎么只能等待最短的时间?

闲置资源的一种替代方法是这个小型ConditionWatcher库:https://github.com/AzimoLabs/ConditionWatcher

您可以创建一个Instruction来等待检查当前活动是否可以找到视图示例