Android/Espresso Test: diferència entre les revisions

Contingut suprimit Contingut afegit
+video demostració
m Reestructuració
Línia 8:
Cal destacar que aquesta eina, a diferencia de les demés, actua en sincronització automàtica amb les accions de la interfície que veu el usuari. D’aquesta manera, Espresso “veu” quins son els fils que s’estan executant en cada moment i pot fer una execució més semblant a la que feria una persona a mà. La diferencia amb els demés programes de proves es que pot ometre el fet de posar en espera els threads que no anirà a fer servir durant un temps.
 
== AspectesPosta a tenir en comptepunt ==
Per poder programar la interfície Espresso, abans de tot necessitarem incorporar al nostre entorn de programació les dependències a les llibreries en qüestió. En aquestes llibreries es troba tota la informació i els mètodes que necessitarem més endavant. A més a més, haurem de preparar una mica el entorn sobre el que treballarem per evitar possibles errors d'execució, i tenir coneixement de que podem fer en cada moment.
 
=== Posta a punt ===
Primer de tot, tenim que preparar el nostre entorn de treball, és a dir, fer unes modificacions a la màquina on farem corre l'aplicació. Ja sigui una virtual o una física, no importa, els canvis a fer són els mateixos.
 
=== De la nostra máquina Android ===
També ésEs recomana deshabilitar les animacions del nostre dispositiu a l'hora de fer les proves. Si les deixéssim habilitades, podria donar-se el cas de rebre resultats inesperats o que l’aplicació deixés de funcionar.
Les opcions que tenim que deshabilitar son:
- Window animation scale
Línia 20:
- Animator duration scale
[[File:Configuracio.png|thumb|Configuració del entorn de treball]]
 
=== Dels imports necessaris ===
 
Tot seguit, tenim que dirigir-nos al fitxer build.gradle(Module App), que es troba dintre del projecte generat amb AndroidStudio de manera automàtica, i hi incorporarem les sentencies següents en ell. Quedant com a resultat:
Linha 40 ⟶ 42:
Un cop hem afegit aquestes línies, el més probable és que ens demani recompilar/resincronitzar el gradle, ja que acabem d'afegir informació nova i el projecte es vol actualitzar i preparar pels events futurs.
 
=== AbansDe la classe de continuartesteig ===
Un cop tenim ja definits els prerequisitis, ens podem centrar en construir cada part del test. Quan nosaltres volem provar una aplicació amb Espresso, necessitem crear una classe nova dintre del nostre projecte on encapsularem totes les accions de prova que executarem després. Pot rebre el nom que vulguem, però necessitem que estigui a la ruta "C:\\Nom_del_projecte\app\src\androidTest\java\domini_del_projecte\NomTest.java", sinó ens generarà problemes de compilació.
 
Linha 46 ⟶ 48:
 
Dintre d'aquesta nova classe, és on implementarem cadascuna de les proves que farem servir sobre l'aplicació a testejar. Aquesta nova classe, haurà de tenir una estructura similar a la següent:
* Declaració de les diferents llibreries que necessitarem (correspon a un cas en particular, diverses funcions requereixen de diversos imports)
 
[[File:Llibreries.png|cap|Llibreries del projecte]]
Linha 103 ⟶ 105:
</syntaxhighlight>
 
== PrimersUn passosexemple pràctic ==
=== Preparació del entorn ===
En aquest punt, explicarem pas a pas com crear i aplicar un exemple pràctic. Abans de tot, haurem de crear un projecte nou sobre el qual treballarem i farem les proves pertinents. Podem omplir aquest projecte amb el contingut que vulguem, Espresso es pot aplicar en qualsevol projecte seguint les normes especificades anteriorment.
Linha 109 ⟶ 111:
[[File:1-Menu Inici.png|cap|Menú Inici d'Android Studio]]
 
Un cop tenim el projecte, haurem de [[#De la nostra màquina Android|preparar el nostre build.gradle]] i [[#Dels imports necessaris|crear una classe nova test]]. La podem anomenar com vulguem, en aquest cas l'anomenarem arrancadacotxeInstrumentationTest. Com a resultat, ens quedarà una estructura com aquesta:
 
[[File:2-Estructura fitxers.png|cap|Estructura interna de fitxers]]