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())