Учебники

Espresso Testing Framework — Просмотреть действия

Как выяснилось ранее, просмотр действий автоматизирует все возможные действия, выполняемые пользователями в приложении для Android. Espresso onView и «onData» предоставляют метод execute, который принимает действия просмотра и вызывает / автоматизирует соответствующие действия пользователя в тестовой среде. Например, «click ()» — это действие представления, которое при передаче методу onView ( R.id.myButton ) .perform (click ()) инициирует событие нажатия кнопки (с идентификатором «myButton»). ) в тестовой среде.

В этой главе мы узнаем о действиях просмотра, предоставляемых средой тестирования эспрессо.

TypeText ()

typeText () принимает один аргумент (текст) типа String и возвращает действие представления. Возвращенное действие представления вводит предоставленный текст в представление. Перед размещением текста он касается вида один раз. Контент может быть размещен в произвольной позиции, если он уже содержит текст.

onView(withId(R.id.text_view)).perform(typeText("Hello World!"))

typeTextIntoFocusedView ()

typeTextIntoFocusedView () аналогичен typeText () за исключением того, что он помещает текст прямо рядом с позицией курсора в представлении.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

ReplaceText ()

replaceText () аналогична typeText () за исключением того, что она заменяет содержимое представления.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

ClearText ()

clearText () не имеет аргументов и возвращает действие представления, которое очистит текст в представлении.

onView(withId(R.id.text_view)).perform(clearText())

pressKey ()

pressKey () принимает код клавиши (например, KeyEvent.KEYCODE_ENTER) и возвращает действие просмотра, при котором нажатие клавиши соответствует коду клавиши.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER))

pressMenuKey ()

pressMenuKey () не имеет аргументов и возвращает действие просмотра, при котором будет нажата клавиша аппаратного меню.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER), pressMenuKey())

closeSoftKeyboard ()

closeSoftKeyboard () не имеет аргументов и возвращает действие просмотра, которое закроет клавиатуру, если она открыта.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", closeSoftKeyboard())

нажмите ()

click () не имеет аргументов и возвращает действие представления, которое вызовет действие щелчка представления.

onView(withId(R.id.button)).perform(click())

двойной щелчок()

doubleClick () не имеет аргументов и возвращает действие представления, которое вызовет действие представления двойного щелчка.

onView(withId(R.id.button)).perform(doubleClick())

longClick ()

longClick () не имеет аргументов и возвращает действие представления, которое вызовет действие представления с длинным щелчком.

onView(withId(R.id.button)).perform(longClick())

pressBack ()

pressBack () не имеет аргументов и возвращает действие просмотра, при котором будет нажата кнопка «Назад».

onView(withId(R.id.button)).perform(pressBack())

pressBackUnconditionally ()

Функция pressBackUnconditional () не имеет аргументов и возвращает действие просмотра, которое щелкает кнопку «Назад» и не выдает исключение, если действие кнопки «Назад» выходит из самого приложения.

onView(withId(R.id.button)).perform(pressBack())

открыть ссылку()

openLink () имеет два аргумента. Первый аргумент (текст ссылки) имеет тип Matcher и ссылается на текст тега привязки HTML. Второй аргумент (url) имеет тип Matcher и ссылается на URL тега привязки HTML. Это применимо только для TextView . Он возвращает действие представления, которое собирает все теги привязки HTML, доступные в содержимом текстового представления, находит тег привязки, соответствующий первому аргументу (текст ссылки) и второму аргументу (URL), и, наконец, открывает соответствующий URL. Давайте рассмотрим текстовое представление с содержанием как —

<a href="http://www.google.com/">copyright</a>

Затем ссылку можно открыть и протестировать с помощью приведенного ниже теста.

onView(withId(R.id.text_view)).perform(openLink(is("copyright"),
   is(Uri.parse("http://www.google.com/"))))

Здесь openLink получает содержимое текстового представления, находит ссылку с авторским правом в виде текста, www.google.com — в качестве URL-адреса и открывает URL-адрес в браузере.

openLinkWithText ()

openLinkWithText () имеет один аргумент, который может иметь тип ** String * или Matcher. Это просто короткий путь к методу openLink *.

onView(withId(R.id.text_view)).perform(openLinkWithText("copyright"))

openLinkWithUri ()

openLinkWithUri () имеет один аргумент, который может иметь тип String или Matcher. Это просто короткий путь к методу openLink *.

onView(withId(R.id.text_view)).perform(openLinkWithUri("http://www.google.com/"))

pressImeActionButton ()

pressImeActionButton () не имеет аргументов и возвращает действие представления, которое выполнит действие, заданное в конфигурации android: imeOptions . Например, если android: imeOptions равен actionNext, это переместит курсор к следующему возможному представлению EditText на экране.

onView(withId(R.id.text_view)).perform(pressImeActionButton())

scrollTo ()

scrollTo () не имеет аргументов и возвращает действие просмотра, которое будет прокручивать совпадающий scrollView на экране.

onView(withId(R.id.scrollView)).perform(scrollTo())

проведите вниз()

swipeDown () не имеет аргументов и возвращает действие просмотра, которое вызовет действие смахивания вниз на экране.

onView(withId(R.id.root)).perform(swipeDown())

swipeUp ()

Функция swipeUp () не имеет аргументов и возвращает действие просмотра, которое запустит действие смахивания вверх на экране.

onView(withId(R.id.root)).perform(swipeUp())

swipeRight ()

swipeRight () не имеет аргументов и возвращает действие просмотра, которое вызовет действие « Провести пальцем» по экрану.

onView(withId(R.id.root)).perform(swipeRight())

проведите пальцем влево()

swipeLeft () не имеет аргументов и возвращает действие просмотра, которое вызовет левое действие на экране.