0
Я тестирую его с помощью следующей:Тестирование Snackbar с Espresso
onView(allOf(withId(android.support.design.R.id.snackbar_text), withText("Network Error")))
.check(matches(isDisplayed()));
Но это терпит неудачу на is displayed on the screen to the user
скорее всего потому, что y
координата 0
: ... x=18.0, y=0.0, ...
Полный журнал:
Expected: is displayed on the screen to the user
Got: "AppCompatTextView{id=2131492981, res-name=snackbar_text, visibility=VISIBLE, width=444, height=71, 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=18.0, y=0.0, text=Network Error, input-type=0, ime-target=false, has-links=false}"
Любые идеи?
добавьте ПОЛНОЕ LogCat. Вы положили только часть – piotrek1543
Это самая важная часть, подумал. Проблема заключается в том, что анимация snackbar начинается с Y = 0, и из-за этого иногда эспрессо выполняет проверку «isDisplayed» сразу, а после Y = 0 возвращается false, что делает тест неудачным, даже если закусочная присутствует и существует в правильный корень. Мы отказались от этого и перешли к ожиданию тестирования. –