我正在创建一个针对底部菜单的浓缩测试,其中菜单有5个线性排列的文本视图,第一个文本视图可见,点击第一个文本视图将展开整个底部菜单,显示所有项目,然后需要点击第三个项目才能通过测试。
问题在于,在展开后,Espresso不能立即单击底部菜单的文本视图,直到我放置 Thread.sleep(1000)
。
我甚至尝试了IdlingResource,一旦在第一个项目上注册了单击事件,我将其设置为false,并在bottomSheetBehaviour上调用onStateChanged后再次将其设置为true,但仍然没有帮助。
这样不起作用:
onView(withId(R.id.toolsItem1)).perform(click());
onView(withId(R.id.toolsItem3)).check(matches(isDisplayed()));
onView(withId(R.id.toolsItem3)).perform(click());
这是什么意思:
onView(withId(R.id.toolsItem1)).perform(click());
Thread.sleep(1000);
onView(withId(R.id.toolsItem3)).check(matches(isDisplayed()));
onView(withId(R.id.toolsItem3)).perform(click());
SystemClock.sleep(1000);
吗? - Bruno Bieri