Espresso Testing Framework - Exibir ações

Conforme aprendido anteriormente, as ações de visualização automatizam todas as ações possíveis executadas pelos usuários em um aplicativo Android. O Espresso onView e “onData” fornecem o método perform , que aceita ações de visualização e chama / automatiza as ações do usuário correspondentes no ambiente de teste. Por exemplo, “click ()” é uma ação de visualização, que quando passada para o método onView ( R.id.myButton ) .perform (click ()) , irá disparar o evento click do botão (com id: “myButton” ) no ambiente de teste.

Neste capítulo, vamos aprender sobre as ações de visualização fornecidas pela estrutura de teste do espresso.

typeText ()

typeText () aceita um argumento (texto) do tipo String e retorna uma ação de visualização. A ação de visualização retornada digita o texto fornecido na visualização. Antes de colocar o texto, ele toca na visualização uma vez. O conteúdo pode ser colocado em uma posição arbitrária se já contiver texto.

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

typeTextIntoFocusedView ()

typeTextIntoFocusedView () é semelhante a typeText (), exceto que coloca o texto bem próximo à posição do cursor na visualização.

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

replaceText ()

replaceText () é semelhante a typeText (), exceto que substitui o conteúdo da visualização.

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

Texto claro()

clearText () não tem argumentos e retorna uma ação de visualização, que limpará o texto na visualização.

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

pressione a tecla()

pressKey () aceita o código da tecla (por exemplo, KeyEvent.KEYCODE_ENTER) e retorna uma ação de visualização, que pressionará a tecla correspondente ao código da tecla.

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

pressMenuKey ()

pressMenuKey () não tem argumentos e retorna uma ação de visualização, que pressionará a tecla de menu do hardware.

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

closeSoftKeyboard ()

closeSoftKeyboard () não tem argumentos e retorna uma ação de visualização, que fechará o teclado, se um estiver aberto.

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

clique()

click () não tem argumentos e retorna uma ação de visualização, que invocará a ação de clique da visualização.

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

Duplo click()

doubleClick () não tem argumentos e retorna uma ação de visualização, que invocará a ação de clique duplo da visualização.

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

longClick ()

longClick () não tem argumentos e retorna uma ação de visualização, que invocará a ação de clique longo da visualização.

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

pressBack ()

pressBack () não tem argumentos e retorna uma ação de visualização, que clica no botão Voltar.

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

pressBackUnconditionally ()

pressBackUnconditionally () não tem argumentos e retorna uma ação de visualização, que clica no botão Voltar e não lança uma exceção se a ação do botão Voltar sair do próprio aplicativo.

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

link aberto()

openLink () possui dois argumentos. O primeiro argumento (texto do link) é do tipo Matcher e se refere ao texto da tag âncora HTML. O segundo argumento (url) é do tipo Matcher e se refere ao url da tag âncora HTML. É aplicável apenas para TextView . Ele retorna uma ação de visualização, que coleta todas as marcas âncora HTML disponíveis no conteúdo da visualização de texto, encontra a marca âncora que corresponde ao primeiro argumento (texto do link) e ao segundo argumento (url) e, finalmente, abre a url correspondente. Vamos considerar uma visualização de texto com o conteúdo como -

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

Em seguida, o link pode ser aberto e testado usando o caso de teste abaixo,

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

Aqui, openLink obterá o conteúdo da visualização do texto, encontrará o link com direitos autorais como texto, www.google.com como url e abrirá a url em um navegador.

openLinkWithText ()

openLinkWithText () tem um argumento, que pode ser do tipo ** String * ou Matcher. É simplesmente um atalho para o método openLink *.

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

openLinkWithUri ()

openLinkWithUri () tem um argumento, que pode ser do tipo String ou Matcher. É simplesmente um curto corte para a OpenLink método *.

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

pressImeActionButton ()

pressImeActionButton () não tem argumentos e retorna uma ação de visualização, que executará a ação definida na configuração android: imeOptions . Por exemplo, se android: imeOptions for igual a actionNext, isso moverá o cursor para a próxima visualização possível de EditText na tela.

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

scrollTo ()

scrollTo () não tem argumentos e retorna uma ação de visualização, que irá rolar o scrollView correspondente na tela.

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

deslize para baixo()

swipeDown () não tem argumentos e retorna uma ação de visualização, que disparará a ação de deslizar para baixo na tela.

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

deslize para cima()

swipeUp () não tem argumentos e retorna uma ação de visualização, que irá disparar a ação de deslizar para cima na tela.

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

desliza para a direita()

swipeRight () não tem argumentos e retorna uma ação de visualização, que disparará a ação de deslizar para a direita na tela.

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

deslize para a esquerda()

swipeLeft () não tem argumentos e retorna uma ação de visualização, que irá disparar a ação de deslizar para a esquerda na tela.

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