selendroid tutorial android mobile test automation framework
Automatització mòbil mitjançant Selendroid (primera part):
Fins ara, milions d'aplicacions ja s'han desenvolupat amb Android com a plataforma i el recompte continua augmentant dia a dia.
El problema és com validar totes i cadascuna de les aplicacions? Com que necessitarem recursos dedicats com mà d'obra, dispositius reals (per exemple, mòbils), etc., i de nou és una tasca que requereix molt de temps. D'altra banda, la versió d'Android, la versió d'aplicacions (.apk), la dimensió del dispositiu, etc., no són constants.
Per tant, es fa molt difícil definir els criteris de sortida de la prova ja que no podem definir l’abast de la prova completa, de manera que no es pot fer una estimació exacta de l’esforç de prova.
Per tal de superar la dependència del dispositiu, s’estan desenvolupant emuladors que poden proporcionar entorns en temps real, com ara, on podem provar l’aplicació sense preocupar-nos de la versió, els dispositius i la seva versió d’Android. Però, encara provar aplicacions (.apk) sobre l'emulador és una activitat manual i fins i tot una tasca que requereix molt de temps. Per tant, s’està desenvolupant la idea d’automatitzar les proves mòbils.
Per realitzar l'automatització mòbil, es desenvolupa un marc d'automatització de proves, que permet l'automatització d'aplicacions basades en Android mitjançant un llenguatge de seqüència de comandaments.
Hi ha molts marcs d'automatització desenvolupats com Selendroid, Appium, Robotium, Espresso.
Aquest tutorial es divideix en dues parts:
Tutorial # 1 : Introducció a Selendroid: marc d’automatització de proves per a mòbils d’Android
Tutorial # 2: Com s'utilitza el marc Selendroid per automatitzar les interaccions dels usuaris a través d'una aplicació mòbil (properament)
Què aprendreu:
- Què és Selendroid?
- Components Selendroid
- Configuració ambiental
- Escriptura del primer script mitjançant fitxers APK en dispositius reals
- Conclusió
- Lectura recomanada
Què és Selendroid?
Selendroid és una increïble eina de marc d’automatització de proves d’aplicacions mòbils per a Android amb diverses funcions importants. Selendroid és una eina d’automatització molt potent que pot interactuar amb diversos dispositius simultàniament i es pot provar una aplicació sense cap modificació ni canvi amb Selendroid.
També es diu 'Seleni per a Android' per provar aplicacions mòbils i web mòbils natius i híbrids.
Per què Selendroid?
- És un codi obert (d'ús gratuït)
- Admet Selenium com a llenguatge de script
- Admet llenguatges compatibles amb controladors web com Java, C #, Perl
- Admet totes les versions d'Android
- Funciona tant en un emulador com en el dispositiu real
- Funciona en una aplicació nativa, híbrida i basada en web
- Efectiu mentre s'executen aplicacions natives, així com aplicacions basades en el núvol. ja que admet la xarxa de seleni
- Admet el reconeixement d’objectes mitjançant propietats de l’objecte
- Fàcil d’implementar
- Els dispositius de maquinari es poden connectar, desconnectar del PC durant l'execució de la prova, sense reiniciar ni aturar la prova. Selendroid pot reconèixer els dispositius nous automàticament. Aquesta característica es coneix com a 'connexió en calent'
Una arquitectura senzilla de Selendroid
Components Selendroid
Selendroid - Client
Bàsicament, és una biblioteca de client Java. Des d’aquest component, s’envia la sol·licitud HTTP i WebDriver mitjançant JSON al servidor autònom Selendroid.
Selendroid - Autònom
Aquest component gestiona diferents dispositius i els .apk instal·lant el servidor Selendroid i l’aplicació que s’està provant. La sol·licitud Http (que s’executarà a través d’un simulador o dispositiu real) s’envia des del servidor autònom de Selendroid al dispositiu i a l’apk que s’està provant.
Selendroid: servidor
Aquest servidor funciona pel dispositiu juntament amb l'aplicació que es prova. Hi ha una comunicació bidireccional entre el servidor i l'aplicació que es prova.
protecció de tallafocs gratuïta per a Windows 10
AndroidDriverApp
És un controlador Android integrat, així com una aplicació Web View per provar el web mòbil.
Un altre marc de prova anomenat com APPI funciona de manera similar a un Selendroid.
Aquí hi ha una petita comparació entre tots dos.
Funció | Selendroide | appium |
---|---|---|
Suport per a la versió d'Android inferior (<4.1) | Sí | no |
Endoll en calent | Sí | no |
Proves d'agents d'usuari | no | Sí |
Suport per a aplicacions basades en iOS | no | Sí |
Requisit ambiental | Per a Android: Mac, Linux, Windows (qualsevol versió) | Per a iOS - Mac OSX 107. Per a Android: Windows 7+, Linux, Mac OSX 107. |
Requisits previs:
Per començar amb el públic que es pretén ha de ser molt conscient de l’ús de seleni, de qualsevol eina IDE com Eclipse, etc. Els conceptes bàsics de programació, com ara Java, C, etc.
- Instal·leu Intel x86 Emulator Accelerator (no obligatori) per veure el simulador aquí
- Java SDK, JRE ja instal·lat en un entorn de prova. Alternativament, podeu descarregar el mateix des de aquí
Anoteu el camí de l'SDK mentre instal·leu.
Establiu les variables ambientals presents a El meu ordinador -> feu clic dret -> Propietats -> Configuració avançada del sistema
- Eclipse ja està instal·lat a la vostra màquina. Si no, també podeu descarregar el mateix des de aquí
- Es descarregaran fitxers de pot de seleni. Podeu descarregar el mateix a partir d’aquí també
- Els pots TestNG ja estan descarregats
- SDK d'Android per descarregar i instal·lar. També podeu descarregar el mateix des de aquí
Anoteu el camí de l'SDK d'Android durant la instal·lació
Un cop descarregat, ANDROID_HOME s'ha d'establir a les variables ambientals presents a:
El meu ordinador -> feu-hi clic dret -> Propietats -> Configuració avançada del sistema
millors aplicacions d’escriptura per a Windows 10
- Es descarregaran els fitxers jar Selendroid. També podeu descarregar el mateix des de aquí
Recordeu per descarregar el fitxer jar independent de Selendroid des de la ubicació anterior. Normalment, el nom és com selendroid-standalone-0.9.0-with-dependencies.jar. A més, descarregueu un fitxer APK de mostra, per exemple, selendroid-test-app-0.8.0.apk des de la ubicació anterior
Nota:
- També podem utilitzar repositori maven per donar la referència a tots els pots o bé cal descarregar-los manualment i adjuntar-lo al camí de construcció (Over Eclipse Project)
- Dispositius / Emuladors: a Android tota l'aplicació instal·lada tindrà l'extensió .apk. D'altres maneres, podeu descarregar aplicacions com ara la informació de l'APK, que us informarà sobre la llista d'aplicacions instal·lades al dispositiu Android i el seu nom real, mida, etc.
Configuració ambiental
# 1) Mantingueu l'APK que cal instal·lar en una ubicació adequada
En el meu cas ho vaig mantenir G: \ Jars \ selendroid-test-app-0.8.0.apk
# 2) A continuació, mantingueu l'aplicació a la carpeta del projecte
En el meu cas ho és 500: AppiumAutomation SelendroidFirst
# 3) Connecteu el dispositiu real al PC
Assegureu-vos que el mode de depuració USB estigui activat i també permeteu que les aplicacions externes s’instal·lin mitjançant la connexió USB.
Consells:
- Consulteu la configuració de depuració USB necessària per al mòbil, per exemple, redmi Note 3 de aquí
- Permetre que l'aplicació externa s'instal·li mitjançant USB, per exemple, Redmi note 3 de aquí
# 4) Obriu el símbol del sistema a Windows
Aneu a la carpeta on hi ha el pot independent Selendroid, així com el fitxer apk descarregat.
Ara especifiqueu l'ordre similar i premeu Retorn a l'indicador d'ordres
Per exemple. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
O java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Fitxer APK: selendroid-test-app-0.8.0.apk
millors servidors per jugar a wow
Nota: Quan s'executa l'ordre anterior, assegureu-vos que l'APK està signat i que el dispositiu real està connectat al PC i que la depuració està habilitada al dispositiu.
(Nota: Feu clic a la imatge per obtenir una vista ampliada)
Comproveu els punts següents a l'indicador d'ordres per assegurar-vos que l'entorn estigui preparat per a l'automatització:
- Verifiqueu el missatge 'Dispositiu especificat amb un número vàlid'
- Verifiqueu el missatge 'el servidor s'inicia al port predeterminat, digueu (4444) ...'
- Verifiqueu el missatge 'Session being created ...'
Una vegada més, sempre podem reconfirmar si s’inicia un servidor o no fa servir l’URL següent en qualsevol dels vostres navegadors web.
per exemple. http: // localhost: 4444 / wd / hub / status
# 5) Inspecció dels APK
- Podem utilitzar aplicacions reals connectant dispositius mòbils reals
- Podem utilitzar qualsevol fitxer APK desconnectat descarregat
Selendroid Inspector és útil per depurar / inspeccionar els elements web de l'APK.
Un cop identificat i engegat el dispositiu, podem veure l’APK (en mode virtual) i trobar les referències, que són útils per escriure els scripts, mitjançant l’URL següent en qualsevol dels vostres navegadors web.
Per exemple: http: // localhost: 4444 / inspector
Aquí tenim la captura de pantalla de l’aplicació sota prova i també tenim la possibilitat d’inspeccionar l’element.
O sempre es pot utilitzar uiautomatorviewer per trobar els objectes de l'aplicació que es prova.
A continuació, s’esmenta el camí per defecte:
C: Usuaris administrador android-sdks tools
C: Usuaris administrador - Aquesta és la ubicació on he instal·lat l’SDK d’Android, però pot ser diferent segons la ubicació especificada durant la seva instal·lació.
Escriptura del primer script mitjançant fitxers APK en dispositius reals
Objectiu:
- Inicieu el servidor (al port predeterminat, digueu 4444)
- Crea una sessió
- Instal·leu l'aplicació (fitxer .apk) al dispositiu real connectat
- Automatitzeu el camp de text amb algunes dades
- Feu clic automàticament al botó
package SelendroidFirst; import io.selendroid.client.SelendroidDriver; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import io.selendroid.common.SelendroidCapabilities; import io.selendroid.common.device.DeviceTargetPlatform; import io.selendroid.standalone.SelendroidConfiguration; import io.selendroid.standalone.SelendroidLauncher; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeSuite; import org.testng.annotations.Test; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.remote.*; import static org.openqa.selenium.remote.CapabilityType.BROWSER_NAME; import static org.openqa.selenium.remote.CapabilityType.PLATFORM; import static org.openqa.selenium.remote.CapabilityType.VERSION; public class RealDevices{ public SelendroidLauncher selendroidServer = null; public WebDriver driver = null; public void conf() throws Exception { //**Configuration**// SelendroidConfiguration config = new SelendroidConfiguration(); config.addSupportedApp('G:\Jars\selendroid-test-app-0.8.0.apk'); SelendroidLauncher selendroidServer = new SelendroidLauncher(config); selendroidServer.launchSelendroid(); //**Creating capabilities**// SelendroidCapabilities sc = new SelendroidCapabilities(); sc.setAut('io.selendroid.testapp:0.8.0'); sc.setEmulator(false); //**Instantiating new Selendroid driver**// WebDriver driver = new SelendroidDriver(sc); //**Sending data to the text field**// driver.findElement(By.id('my_text_field')).sendKeys('Selendroid Test'); //**Clicking on the button**// driver.findElement(By.id('visibleButtonTest')).click(); Thread.sleep(10000); }
Conclusió
Selendroid és una eina de marc de proves d’automatització molt potent que es pot utilitzar per provar natives, híbrides, així com una aplicació web en qualsevol dispositiu Android, a més d’un simulador.
És compatible amb Hotplugging, el que significa que un usuari pot provar diversos dispositius alhora, de manera que es pot executar una prova paral·lela en diversos dispositius. Admet diversos tipus d’interaccions com la premsa llarga, les accions tàctils, etc.
L'única complexitat que té és la configuració ambiental, que també hi és en altres marcs. Un cop estigui configurat correctament, podem fer que els nostres scripts s’executin sense dificultats.
Enpart 2d'aquest tutorial sobre Selendoid, tractarem - Com s'utilitza el marc Selendroid per automatitzar les interaccions dels usuaris a través d'una aplicació mòbil.
En el nostre proper article, en parlarem més sobre Tutorial de revisió pràctica de pCloudy.
Lectura recomanada
- Tutorials Eclipse en profunditat per a principiants
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Tutorial sobre Java Collections Framework (JCF)
- Tutorial de reflexió de Java amb exemples
- Tutorial Ranorex: una potent eina de proves per a ordinadors per a ordinadors, web i mòbils
- Tutorial d'Appium per provar aplicacions mòbils Android i iOS
- Ús de Selendroid per automatitzar les interaccions dels usuaris en una aplicació mòbil (2a part)
- Ús avançat de l’automatització SeeTest al projecte d’automatització mòbil en temps real