Можем ли мы выполнить утверждение на значение Edittext и записать наш тестовый пример в соответствии с его результатом. Как если бы мы EditText значения равно наша ценность, которую мы хотим выполнить условие А еще В.Assert EditText Значение в Espresso
onView(withId(viewId)).check(matches(isEditTextValueEqualTo(viewId, value)));
Matcher<View> isEditTextValueEqualTo(final int viewId, final String content) {
return new TypeSafeMatcher<View>() {
@Override
public void describeTo(Description description) {
description.appendText("Match Edit Text Value with View ID Value : : " + content);
}
@Override
public boolean matchesSafely(View view) {
if (view != null) {
String editTextValue = ((EditText) view.findViewById(viewId)).getText().toString();
if (editTextValue.equalsIgnoreCase(content)) {
return true;
}
}
return false;
}
};
}
Это не работает, используя попробовать .. Поймать (Exception е)
Спасибо за ваш комментарий, но он исправлен с блокировкой захвата AssertionFailedError. Кроме того, FYI мы можем получить представление внутри матчи. – Krishnakant
Я не говорю, что это невозможно, я просто сказал, что это не эффективно. Если у вас есть представление, вы не должны выполнять медленные операции, чтобы получить один и тот же вид. FindViewById не является дешевой операцией, поскольку каждый доступ к иерархии представлений. – jeprubio
ohk Большое спасибо :-) – Krishnakant