Ați dezvoltat vreodată o aplicație Android și o publicați pe Google Play? Ce veți face dacă primiți o recenzie a utilizatorului ca -
Când publicați o aplicație pe Google Play, aceasta trebuie să fie bine testată pentru a evita posibilele erori. Există o mulțime de scenarii de testare care ar trebui executate înainte de publicarea unei aplicații. Pentru a economisi efortul de testare, aveți nevoie de un instrument de testare. Unul dintre cele mai bune instrumente de testare pentru aplicația Android este Selendroid.
- Ce este Selendroid?
- De ce avem nevoie de Selendroid?
- Arhitectura Selendroid
- Noțiuni introductive despre Selendroid
- Configurarea unui mediu Selendroid
- Cum se lansează Selendroid
- Comandă de bază Selendroid
- Începeți primul test cu Selendroid
Ce este Selendroid?
Selendroid este un cadru de automatizare de testare pentru mai multe tipuri de aplicații mobile: aplicație Android nativă și hibridă și web mobil .
Puteți scrie testele folosind API-urile client Selenium 2. Deoarece Selendroid reutilizează în continuare infrastructura Selenium existentă pentru web
Selendroid este un instrument puternic de testare. Poate fi folosit pe emulatoare și dispozitive reale
De ce avem nevoie de Selendroid?
Selendroid este un instrument excelent de testare. Dar s-ar putea să te îndoiești de utilitatea sa.
Această secțiune va introduce caracteristicile importante ale Selendroid pentru a răspunde la întrebarea de ce aveți nevoie de Selendroid.
- Puteți testa aplicația testată folosind Selendroid fără nicio modificare a aplicației. Aveți nevoie doar de fișierul binar (APK) instalat pe computer. Pentru a instala fișierul binar pe dispozitiv, aplicația de testare și aplicația mobilă trebuie să fie semnate cu aceeași cheie de semnare
- Aplicația de testare Selendroid poate interacționa simultan cu mai multe dispozitive sau simulatoare. Este un mare avantaj al Selendroid. Astfel, puteți testa aplicația dvs. cu diferite dispozitive Android pentru a verifica compatibilitatea.
- Selendroid poate simula acțiunile utilizatorului uman pe o aplicație, cum ar fi atingerea, glisarea, glisarea și fixarea pe dispozitive
- Puteți schimba dispozitivele hardware (conectați și deconectați) în timpul testării fără a reporni sau opri testul. Selendroid recunoaște automat noile dispozitive
- Corespunzător versiunii API Android în sus, Selendroid acceptă, de asemenea, noua API Android (De la API 10 la API 19)
- Selendroid are, de asemenea, un instrument de inspecție încorporat pentru a vă ajuta să identificați elementul de interfață al unei aplicații supuse testului. De exemplu, butonul ID, câmpul de text, vizualizarea textului ...
Arhitectura Selendroid
Selendroid se bazează pe cadrul de instrumentare Android. Testele Selendroid sunt scrise de bază pe API-ul clientului driverului Selenium Web, deci acceptă integrarea completă cu cadrele Selenium actuale.
Următoarea figură descrie arhitectura lui Selendroid
Selendroid conține 4 componente majore:
- Web Driver Client - Biblioteca client Java bazată pe Selenium. Această bibliotecă ar trebui instalată pe computer (care este utilizată pentru a dezvolta cazurile de testare)
- Selendroid-Server - Serverul care rulează se află în aplicația testată pe dispozitivul sau simulatorul Android. Aceasta este componenta principală a unei arhitecturi Selendroid
- Android Driver-App - Un driver Android încorporat, aplicația Web View pentru a testa web-ul mobil.
- Selendroid-Standalone - Această componentă este utilizată pentru a instala serverul Selendroid și aplicația testată (AUT)
Noțiuni introductive despre Selendroid
Ați cunoscut deja importanța Selendroidului. Acum să ne murdărim mâinile cu Selendroid.
Trebuie să faceți 3 pași înainte de primul test cu Selendroid
Configurarea unui mediu Selendroid
Selendroid poate funcționa pe Windows, Linux și Mac OS. În acest tutorial, vom configura Selendroid în Windows OS.
Înainte de a utiliza Selendroid, trebuie mai întâi să instalați următorul pachet
- SDK Java (minim 1,6)
Trebuie să acceptați acordul de licență și să descărcați programul de instalare Java (alegeți baza x64 sau x86 pe sistemul dvs. de operare)
Descărcați și instalați SDK-ul Java ca software normal
- Cea mai recentă versiune de Android SDK
- Computerul dvs. trebuie să aibă cel puțin un dispozitiv virtual Android (AVD) sau un dispozitiv Android real conectat la computer.
- Selendroid Standalone cu dependențe, Selendroid Client și Selenium Client
- Software Eclipse
- Configurați JAVA_HOME și ANDROID_HOME
Pasul 1) În fereastră, faceți clic dreapta pe Computer -> Proprietăți -> Setări avansate de sistem
Pasul 2) Afișarea ferestrei Proprietăți sistem, selectați fila Avansat -> Variabile de mediu
Pasul 3) Afișarea ferestrei de mediu, faceți clic pe Nou -> Introduceți o variabilă ANDROID_HOME după cum urmează
Valoarea variabilă este calea către android-sdks pe care ați instalat-o deja.
Găsiți variabila de sistem Cale -> Editare -> Adăugați următoarea linie după linia curentă
Similar cu ANDROID_HOME, adăugați o nouă variabilă JAVA_HOME cu valoarea de mai jos
Valoarea este calea către instalarea Java JDK
Pasul 4) Reporniți computerul -> Terminat
Cum se lansează Selendroid
Pasul 1) Obținerea unei aplicații sub test
Puteți utiliza aplicația de testare Selendroid existentă pentru a verifica modul în care funcționează Selendroid (Link către aplicația eșantion sub test)
După finalizarea descărcării, copiați acest APK și fișierul jar Selendroid Standalone de mai sus într-un folder cu numele „ Guru99”
Pasul 2) Lansați Selendroid
Deschideți terminalul pe Windows și navigați la folderul Guru99 creat la pasul 1.
Rulați următoarea comandă
Ieșirea se va afișa după cum urmează
După rularea acestei comenzi, pornește serverul HTTP independent Selendroid! Numărul de port implicit al acestui server este 4444. Toate dispozitivele hardware, precum și dispozitivul virtual Android, vor fi scanate și recunoscute automat. Selendroid va identifica versiunea țintă Android și dimensiunea ecranului dispozitivului.
Pentru a verifica versiunea țintă Android, precum și informațiile despre dispozitiv, puteți lansa următoarea adresă URL pe un browser:
http: // localhost: 4444 / wd / hub / status.
Comandă de bază Selendroid
Această secțiune vă prezintă câteva linii de comandă de bază Selendroid-Standalone. Le puteți folosi pentru a configura mediul de testare Selendroid
- Setarea portului Selendroid
Portul implicit al Selendroid este 4444. Dar puteți trece la alt port adăugând un parametru la comandă pentru a lansa Selendroid
Parametru: -port [numărul portului]
De exemplu:
În comanda de mai sus, 5555 este noul port.
Deci, adresa URL pentru a verifica versiunea țintă Android este schimbată în: http: // localhost: 5555 / wd / hub / status
- Specificați locația aplicației supuse testului (fișier APK binar). Selendroid a solicitat adesea calea absolută pentru acest fișier
Parametru: -app [calea fișierului]
De exemplu:
În comanda de mai sus, Selendroid găsește automat baza de fișiere binare pe „C: \ Guru99App.apk” pentru a obține informațiile aplicației testate.
Verificați adresa URL http: // localhost: 4444 / wd / hub / status, veți vedea aceste informații
- Schimbați portul pe care Selendroid îl folosește pentru a comunica cu serverul de instrumente. Selendroid folosește portul 8080 ca implicit
Parametru: -selendroidServerPort [numărul portului]
Exemplu
Portul acum este schimbat la 9000
- Schimbați expirarea pentru a porni emulatoarele. Unitatea este de milisecunde.
Parametru: -timeoutEmulatorStart
În mod implicit, Selendroid va aștepta 300.000 de milisecunde până când va începe emulatorul. Puteți trece la un nou timeout (200.000 ms) prin comandă
După această perioadă a expirat, dacă emulatorul nu poate porni, Selendroid va arunca eroarea de excepție (a apărut o eroare în timp ce căutați dispozitive / emulatoare.)
- Când porniți comanda Selendroid pe terminal, veți vedea un jurnal imprimat pe ecran. Puteți modifica tipul de jurnal pe care îl vedeți adăugând următorul parametru
Parametru: -logLevel [tip de jurnal]
Valorile nivelului jurnalului sunt ERROR, WARNING, INFO, DEBUG și VERBOSE. Implicit: EROARE.
De exemplu, setați Selendroid să imprime numai jurnalul de AVERTISMENT, puteți utiliza această comandă
Selendroid tipărește doar jurnalul de AVERTISMENT
Începeți primul test cu Selendroid
Această secțiune este un ghid pas cu pas pentru crearea primului script de testare folosind Selendroid
Să presupunem că avem o aplicație Android sub numele de test Guru99App. Aplicația include un câmp de text și un nume de buton „Afișare text”.
DESCARCĂ APK-ul AICI
Trebuie să executăm următorul Test Case folosind Selendroid
Cazuri de testare |
Condiție |
Ieșire preconizată: |
|
Binarul aplicației supuse testului este disponibil Un dispozitiv este conectat la computer |
Textul „Arată text aici” este schimbat în text ce utilizator introduce într-un câmp text |
Pasul 1) Creați un proiect Java în Eclipse
Pasul 2) Adăugați fișierul seleniu și borcanul Selendroid în mediile eclipse
Faceți clic dreapta pe proiectul Guru99Test -> Construiți calea -> Adăugați arhive externe
Navigați la folderul care a stocat fișierele jar
Trebuie adăugate 3 fișiere jar
- selendroid-client-0.10.0.jar: biblioteca client client Selendroid
- selendroid-standalone-0.11.0-cu-dependențe: bibliotecă server autonom Selendroid
- selenium-java-2.40.0.jar: biblioteca Selenium Web Driver
Selectați toate -> Alegeți Deschidere pentru a adăuga un fișier jar la proiect
Pasul 3) după adăugarea bibliotecii de mai sus, acele biblioteci vor fi adăugate la Bibliotecile de referință ale proiectului de testare. Un tester poate utiliza API-urile bibliotecilor respective pentru a dezvolta programul de testare
Creați pachetul „com.guru.test” și adăugați fișierul java „Guru99Test.java” ca mai jos
Faceți clic dreapta pe Guru99Test -> Nou -> Pachet
Tastați com.guru.test în câmpul Nume din dialogul Pachet Java nou à Finish
Eclipse va crea foldere de listă și subfoldere ca aceasta în structura codului sursă
Pasul 4) Instalați TestNG pentru Eclipse
În Eclipse, Ajutor -> Instalare software nou, în dialogul Instalare, faceți clic pe Adăugare și introduceți următoarele
- Nume: TestNG
- Locație: http://selendroid.io/
Apăsați OK -> Next pentru a instala TestNG
Pasul 5) Copiați Guru99App.apk în dosarul aplicației de testare
Pasul 6) Obțineți ID-ul unei aplicații testate.
Să presupunem că avem un nume de fișier APK Guru99App.apk. Urmați pasul descris în secțiunea anterioară, executați comanda pe terminal
Deschideți următorul link într-un browser
http: // localhost: 4444 / wd / hub / status.
Informațiile dispozitivului sunt afișate, copiați valoarea appId "com.guru99app: 1.0"
Pasul 7) Deschideți fișierul Guru99Test.java (în codul eșantion) și modificați-l după cum urmează
Pentru a crea o nouă sesiune de testare cu Selendroid, trebuie să furnizați ID-ul aplicației în format: com.guru99app: 1.0. Acest ID al aplicației este identificat la pasul 6. Dacă nu setați ID-ul aplicației care se potrivește cu dispozitivul Android, sesiunea de test va genera o eroare și nu va începe.
După inițializarea dispozitivului găsit, Selendroid creează un server selendroid personalizat și instalează serverul Selendroid pe acesta
Selendroid instalează, de asemenea, aplicația testată și pornește selendroid-server pe dispozitiv
După inițializarea cu succes a sesiunii de test, comanda de testare începe să se execute pe un dispozitiv. (Cum ar fi introducerea textului, apăsați butonul
…). Dacă testul adaugă sesiunea de test, emulatorul se va opri automatPasul 8) Începeți noua sesiune de testare
Lansați serverul Selendroid folosind următoarea comandă pe terminal, cum ar fi pasul 6
După pornirea serverului Selendroid, deschideți proiectul de testare Guru99test pe Eclipse, setați un punct de întrerupere la linia 77 din fișierul Guru99Test.java făcând dublu clic pe linia 77 -> Un punct se va afișa ca mai jos
Începeți o sesiune de testare dreapta Faceți clic pe proiectul Guru99Test -> Depanare ca -> Testare test.
O sesiune de test va începe ca mai jos
Pasul 9) Obțineți ID-ul elementului GUI al unei aplicații testate
După ce sesiunea de test începe cu succes, deschideți browserul, navigați la adresa URL http: // localhost: 4444 / inspector
Veți vedea că aplicația sub test este lansată ca mai jos
Utilizați cursorul mouse-ului la fiecare element de interfață AUT (AUT, Buton, TextField, Text Label), ID-ul fiecărui element va fi evidențiat în panoul din dreapta
După acest pas, puteți obține ID-ul fiecărui element de interfață de mai sus
- Buton Afișare ID text: " btnShow "
- ID câmp text: „ edtText ”
- ID text etichetă: " txtView "
Aceste ID-uri vor fi utilizate în pasul următor
Pasul 10) Introduceți programul de testare ca mai jos
Un program de testare care utilizează Selendroid include 3 secțiuni
Test de configurare:
Următorul este codul pentru testul de configurare, acesta va configura condiția pentru o sesiune de testare. În caz de eroare, Selendroid va arunca excepția și aplicația de testare se va opri.
Codul include comentariile pentru a explica fiecare declarație.
pachet com.guru.test;import io.selendroid.SelendroidCapabilities;import io.selendroid.SelendroidConfiguration;import io.selendroid.SelendroidDriver;import io.selendroid.SelendroidLauncher;import io.selendroid.device.DeviceTargetPlatform;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.testng.Assert;import org.testng.annotations.AfterSuite;import org.testng.annotations.BeforeSuite;import org.testng.annotations.Test;/ *** @author Guru99 Test App folosind Selendroid* Aplicație sub test: Guru99App** /publicclasa Guru99Test {// Declarați variabila driverului webdriver WebDriver privat;/ *** Configurați mediul înainte de testare* Excepție @throws* /@BeforeSuitepublicvoid setUp () aruncă Excepție {// Porniți selendroid-standalone în timpul testuluiSelendroidConfiguration config = new SelendroidConfiguration ();// Adăugați aplicația selendroid-test pe serverul independentconfig.addSupportedApp ("Guru99App.apk");// porniți serverul independentSelendroidLauncher selendroidServer = nou SelendroidLauncher (config);selendroidServer.launchSelendroid ();// Creați capacitățile de selendroidSelendroidCapabilities capa = new SelendroidCapabilities ();// Specificați să utilizați aplicația de testare a selendroidcapa.setAut ("com.guru99app: 1.0");// Specificați să utilizați dispozitivul Android API 19capa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Nu solicitați simulator, utilizați dispozitivul realcapa.setEmulator (fals);//capa.wait(10000000);// Creați o instanță a driverului Selendroiddriver = nou SelendroidDriver (capa);}
Executați testul
Mai jos este codul pentru a executa un test. Codul include comentariile
Iată din nou pașii de testare
- Introduceți textul „Hello Guru”
- Faceți clic pe Afișare buton text
- Așteaptă un pic
- Verificați dacă aplicația afișează textul pe măsură ce utilizatorul intră într-un câmp de text (de exemplu, afișează textul „Hello Guru”)
/ *** Începeți să executați cazul de testare* 01. Introduceți textul „Selendroid” în câmpul text* 02. Apăsați butonul OK* Excepție @throws* /@Testpublicvoid selendroidTest () aruncă Excepție {// Imprimați jurnalulSystem.out.print („Începeți executarea testului”);// Găsiți câmpul de text de intrare pe ecran// ID-ul acestui câmp text a fost obținut de la pasul 9WebElement inputField = driver.findElement (By.id ("edtText"));// Verificați dacă câmpul de text este activat, astfel încât utilizatorul să poată introduce textAssert.assertEquals ("adevărat", inputField.getAttribute ("activat"));// Introduceți un câmp text în textinputField.sendKeys ("Hello Guru");// faceți clic pe butonul Afișare text// ID-ul acestui buton a fost obținut de la pasul 9Buton WebElement = driver.findElement (By.id ("btnShow"));button.click ();// Întârziți timpul pentru a intra în vigoareThread.sleep (5000);// Găsiți eticheta „Text Show Here” pe ecran// ID-ul acestei etichete a fost obținut de la pasul 9WebElement txtView = driver.findElement (By.id ("txtView"));// Afișați textul pe ecranȘirul așteptat = txtView.getText ();// Verificați dacă textul pe care utilizatorul îl introduce în câmpul de text este același cu textul afișat pe ecranAssert.assertEquals (expected, inputField.getText ());}
Finalizați testul
Următorul cod va finaliza testul oprind driverul Selendroid.
/ *** Opriți driverul Selendroid** /@AfterSuitepublicvoid tearDown () {driver.quit ();}
Puteți vedea detaliile în exemplul de cod inclus în acest articol.
Pasul 10) Conectați dispozitivul Android la computer prin cablu USB. Puncte de observat -
- Asigurați-vă că dispozitivul nu are configurată nicio blocare a ecranului.
- Dispozitivele trebuie conectate prin USB la computerul pe care se execută componenta autonomă.
- Dispozitivul ar trebui să instaleze cel puțin Android Target Version API 10
Pasul 11) Rulați aplicația Test: Faceți clic dreapta pe Guru99test -> Run as -> TestNG test
Pasul 10) Scriptul începe executat după cum urmează
Pasul 12) După terminarea executării testului, TestNG auto generează raportul de testare după cum urmează
Bun Job, ai terminat testul acum.
rezumat
rezumat
- Selendroid este un instrument foarte puternic pentru testarea aplicației native Android, a aplicației hibride, precum și a aplicației web.
- Poate fi folosit pe dispozitive reale, precum și pe simulator.
- De asemenea, vă permite să rulați teste în paralel, executând un test pe mai multe dispozitive.
- Întreaga suită Selendroid cuprinde patru componente:
- Client Driver Web,
- Selendroid-Server,
- Aplicația Android Driver
- Selendroid-stand alone
- Pentru a utiliza Selendroid aveți nevoie de Java JDK, Android SDK și Eclipse instalate.