Как взаимодействовать с алертилдиалогом в эспрессо? - PullRequest
0 голосов
/ 02 марта 2020

У меня есть тест, в котором у меня есть Alertdialog, в котором есть поле «ввода» и кнопки «Отмена» (id - button2) и «Ok» (id - button1). Сначала я должен ввести значение «1234» в поле, а затем нажать кнопку «ОК». Но у меня это не работает, тест не пройден.

    onView(withId(R.id.input)).perform(typeText("1234"));
    closeSoftKeyboard();
    click(R.id.button1);
    Thread.sleep(5000);

1 Ответ

0 голосов
/ 02 марта 2020

Вы должны использовать isDialog() RootMatcher :

onView(allOf(
       isDescendantOfA(withId(R.id.input)),
       isAssignableFrom(EditText.class)))
    .inRoot(isDialog())
    .perform(typeText("1234"))
    .perform(closeSoftKeyboard());
onView(withText("Ok"))
    .inRoot(isDialog())
    .check(matches(isDisplayed()))
    .perform(click());
Thread.sleep(5000);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...