Android/Espresso Test: diferència entre les revisions

Contingut suprimit Contingut afegit
Línia 57:
 
Dintre de les funcions amb l'etiqueta @Test, haurem de definir les accions que executarà l'aplicació utilitzant uns mètodes en concret que Espresso ens ofereix de base. Utilitzant-les, podrem tant generar accions com si fóssim el usuari i comprovar el resultat.
 
Per poder simular la interacció humana, tenim que seguir una estructura, la qual consta de 3 parts principals:
- Identificar la View sobre la que aplicarem les proves
- Generar l’acció pertinent sobre la View
- Recuperar el resultat obtingut
 
Per identificar una View, utilitzarem el mètode onView(), que és qui retornarà la View en qüestió, en conjunt amb el mètodes withId() que és el encarregat de definir quin paràmetre li estem passant al mètode. withId() requereix d’un paràmetre que és el identificador de la View que estem consultant. Per veure un exemple:
onView(withId(R.id.edittext_view))
 
Tot seguit, per generar l’acció del usuari, tenim que utilitzar el mètode ViewInteratcion.perform(), passant-li com a paràmetre l’acció que volem que s’executi. Val a dir, que com a paràmetres també n’accepta més d’un.
En la llista següent, podem trobar els diferents mètodes per executar cadascuna
de les accions que el usuari podrà fer dintre de la nostre aplicació. Val a dir que totes estan orientades a una View:
• ViewActions.click(): simula un click sobre la view
• ViewActions.typeText(String): simula un click en la view i hi escriu el text especificat per el string que li passem per paràmetre.
• ViewActions.scrollTo(): simula com l’usuari mou la visibilitat de la View, de tal manera que es pugui veure la View que estem buscant.
• ViewActions.pressKey(KeyCode): simula un click en la tecla que li passem per paràmetre en forma de keycode.
• ViewActions.clearText(): en la view seleccionada se li neteja el text que contingui.
 
Com a exemple, podem observar aquesta acció que fa click sobre la View en qüestió:
.perform(typeText(“Hola que tal”))
 
Es pot observar tota la llista completa de mètodes a la pàgina oficial d’Android: https://developer.android.com/reference/android/support/test/espresso/action/ViewActions.html
 
 
Com a últim pas, necessitem un mètode per garantir que realment s’ha executat tal i com esperàvem. La manera és utilitzant el mètode ViewInteraction.check(). Aquest mètode serveix per comprovar que el estat esperant concorda amb els resultats esperats. A més a més, requereix d’un paràmetre per dir-li al mètode que és el que ha de comprovar. Els paràmetres disponibles són els següents:
• doesNotExist:
• matches:
• selectedDescendentsMatch:
 
Per posar un exemple complet, podríem identificar un EditText, cambiar-li el text i comprovar el resultat d’aquesta manera:
onView(withId(R.id.edittext))
.perform(typeText(“Message”))
.check(matches(withText(“Message”));
 
== Primers passos ==