Как выяснилось ранее, просмотр действий автоматизирует все возможные действия, выполняемые пользователями в приложении для 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 () не имеет аргументов и возвращает действие просмотра, которое вызовет левое действие на экране.