我在android中有这个espresso测试,我需要等待HUD加载栏消失(我在HUD出现的地方发表评论)
onView(ViewMatchers.withId(R.id.editText_username))
.perform(typeText(loginText), closeSoftKeyboard());
onView(withId(R.id.editText_password))
.perform(typeText(passwordText), closeSoftKeyboard());
onView(withId(R.id.button_login)).perform(click());
mBrowserActivityMonitor.waitForActivityWithTimeout(10000);
onView(withId(R.id.button_connectToVsm)).perform(click());
mBrowserActivityMonitor.waitForActivityWithTimeout(10000);
onView(withText("VSM-FB9A")).perform(click());
mBrowserActivityMonitor.waitForActivityWithTimeout(10000);
**//Now I want to wait for the HUD bar(that occurs after the click) to disappear**
答案 0 :(得分:0)
您可以尝试以下几项:1)在VSM-FB9A
按钮上添加测试配置,以便在测试模式下它实际上不会显示HUD视图,那么您不必等待为了它。 2)你可以在Espresso中查看 HUD视图(例如,使用onView(withId(R.id.HUD)).check(matches(isDisplayed()));
吗?如果是这样,你可以循环播放,直到它不再显示。
很难说你测试的内容是什么,但总的来说我试图打破逻辑并测试小部分 - 所以如果按下按钮会导致服务调用或更新UI之前的东西我让它跳过服务调用并伪造响应,以便在我的UI测试中我只测试UI的行为正确。端到端测试可以检查服务交互......