bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


android_test

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
android_test [2023/12/15 10:20]
enric_mieza_sanchez [Exemple Python]
android_test [2024/04/30 00:20] (actual)
enric_mieza_sanchez [Tests funcionals amb Android]
Línia 4: Línia 4:
  
 Podrem fer tests funcionals de forma molt similar a com utilitzem Selenium per a web. Podrem fer tests funcionals de forma molt similar a com utilitzem Selenium per a web.
 +
 +{{:appium.png?direct}}
 +
 +
 +Articles previs:
 +  * [[Android]]
 +
 +{{tag> #Dam #DamMp08 #DamMp08Uf1 #DamMp08Uf01 #DamMp08Uf2 #DamMp08Uf02 #Ciber #Ceti #CetiMp03 Android mobile java }}
 +
 +
 +\\
 +
 +===== Android Studio =====
 +
 +Android Studio és l'eina oficial que Google recomana per a desenvolupa en Android.
 +
 +{{:android-studio-1.png?direct}}
  
 \\ \\
  
 ===== Instal·lació ===== ===== Instal·lació =====
 +Necessitarem NodeJS versió LTS:
 +  # apt install nodejs npm
 +  # npm install -g n
 +  # n lts
 +
 +Tanqueu i obriu de nou el terminal, i comproveu la versió de NodeJS:
 +  $ node --version
  
 Instal·lem la llibreria Appium i el Driver UIAutomator2 Instal·lem la llibreria Appium i el Driver UIAutomator2
Línia 14: Línia 38:
   $ appium driver install uiautomator2   $ appium driver install uiautomator2
  
-Engeguem servidor en una shell a part:+Provem servidor en una shell a part (escoltarà al port 4723):
   $ appium   $ appium
 +
 +El podem parar amb ''CTRL+C''.
  
 També hem d'instal·lar: També hem d'instal·lar:
Línia 22: Línia 48:
   * Java SDK >=11 per a Android SDK>=30   * Java SDK >=11 per a Android SDK>=30
   * Crear un emulador Android i engegar-lo (podem emprar AVD Manager).   * Crear un emulador Android i engegar-lo (podem emprar AVD Manager).
 +
 +==== Emulador ====
 +L'emulador Android es pot iniciar des de CLI:
 +  $ cd Andrid/Sdk/emulator
 +  $ ./emulator -avd "Pixel_XL_API_34"
 +
 +Si hem de fer els autotests en una servidor podem afegir la opció ''-no-window'' perquè funcioni en mode ''headless'':
 +  $ ./emulator -avd "Pixel_XL_API_34" -no-window
  
 \\ \\
  
 ===== Exemple Python ===== ===== Exemple Python =====
 +La **documentació oficial de Appium** ens ofereix un [[http://appium.io/docs/en/2.2/quickstart/test-py/|exemple en Python]] i altres llenguatges ([[http://appium.io/docs/en/2.2/quickstart/test-js/|Javascript]], Java, Ruby).
 +
 +<WRAP important>
 +Revisa que estiguis consultant la documentació de la versió actual.
 +</WRAP>
 +
 Creem un [[virtualenv]] per no interferir la instal·lació del sistema operatiu: Creem un [[virtualenv]] per no interferir la instal·lació del sistema operatiu:
  
Línia 32: Línia 72:
   (envtest) $ pip install Appium-Python-Client pytest   (envtest) $ pip install Appium-Python-Client pytest
  
-Prenem aquest codi d'exemple:+Prenem aquest codi d'exemple que obre l'**aplicació ''com.android.settings''** i cerca la opció ''Battery'' amb Xpath:
  
 <file python test_example.py> <file python test_example.py>
Línia 73: Línia 113:
 </file> </file>
  
-Engeguem el servidor Appium en una //shell// a part (escoltarà al port 4723):+=== Shell 1 === 
 +Assegura't que disposes de la variable ''$ANDROID_SDK_ROOT''. Si no la tens, sol ser: 
 + 
 +<tabbox Versió Linux> 
 +$ export ANDROID_SDK_ROOT=~/Android/Sdk/ 
 +<tabbox Versió Windows> 
 +set ANDROID_SDK_ROOT=C:\Users\usuari\AppData\Local\Android\Sdk 
 +</tabbox> 
 + 
 +Engeguem el servidor Appium (escoltarà al port 4723):
   $ appium   $ appium
  
-Engeguem els tests en una altra //shell//: +=== Shell 2 === 
-  $ python3 test_example.py+Si estem treballant amb Android Studio i tenim l'emulador engegat, no cal aquest apartat. 
 + 
 +Si no tenim cap emulador engegat, podem posar-ho en marxa amb (substituir pel AVD pertinent): 
 +  $ cd ~/Android/Sdk/emulator 
 +  $ ./emulator -avd "Pixel_3a_API_34_extension_level_7_x86_64" 
 + 
 +=== Shell 3 === 
 +Engeguem els tests
 +  $ source env/bin/activate 
 +  (envtest) $ python3 test_example.py
  
 ...i podrem veure com entra als Settings de l'emulador i clica en la secció "Battery" (sempre i quan l'emulador estigui en anglès). ...i podrem veure com entra als Settings de l'emulador i clica en la secció "Battery" (sempre i quan l'emulador estigui en anglès).
  
  
android_test.1702635600.txt.gz · Darrera modificació: 2023/12/15 10:20 per enric_mieza_sanchez