我有一个测试,在大约一半的时间内有效。
@Test
public void thirdSwipe() {
onView(withId(R.id.pager)).perform(swipeLeft());
onView(withId(R.id.pager)).perform(swipeLeft());
onView(withId(R.id.pager)).perform(swipeLeft());
onView(allOf(withId(R.id.hint_english_text), withText("dog 0a"))).check(matches(isDisplayed()));
}
我遇到了这个错误:
android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError: 'is displayed on the screen to the user' doesn't match the selected view.
Expected: is displayed on the screen to the user
Got: "TextView{id=2131427358, res-name=hint_english_text, visibility=VISIBLE, width=624, height=62, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=20.0, y=20.0, text=dog 0a, input-type=0, ime-target=false, has-links=false}"
看起来它找到了带有"dog 0a"
的TextView
,但是它无法识别它。
我已经查看了其他问题,并使用String
设置了文本内容,这只是我类中的几行代码:
private String englishText;
englishTextView.setText(englishText);
另外,我正在使用allOf()
。任何帮助都将不胜感激。这个视图位于ViewPager
的视图中,所以我不确定测试是否在ViewPager
被加载之前发生,但它确实表示找到了该视图。
waitId
方法,该方法会在规定时间内不断检查,直到该值被确认。https://dev59.com/xGEi5IYBdhLWcg3wRauf#22563297 - Youngjae