selendroid tutorial android mobile test automation framework
Automatizare mobilă folosind Selendroid (Partea I):
Până acum, milioane de aplicații au fost deja dezvoltate folosind Android ca platformă, iar numărul continuă să crească zi de zi.
Captura este, cum să validați fiecare aplicație? Deoarece vom avea nevoie de resurse dedicate, cum ar fi forța de muncă, dispozitive reale (de exemplu, mobile) etc., și din nou este o sarcină care necesită mult timp. Pe de altă parte, versiunea Android, versiunea aplicațiilor (.apk), dimensiunea dispozitivului etc., nu sunt constante.
Prin urmare, devine foarte dificil să definim criteriile de ieșire a testului, deoarece nu putem defini domeniul de aplicare complet al testării, prin urmare nu se poate face estimarea exactă a efortului de testare.
Pentru a depăși dependența dispozitivului, sunt dezvoltate emulatoare, care pot oferi mediu în timp real, de exemplu, unde putem testa aplicația fără să ne îngrijorăm de versiunea Android, dispozitivele și versiunea lor. Dar, testarea în continuare a aplicațiilor (.apk) pe emulator este o activitate manuală și chiar o sarcină care necesită mult timp. Prin urmare, ideea automatizării testării mobile este în curs de dezvoltare.
Pentru a efectua automatizarea mobilă, este dezvoltat cadrul de automatizare a testelor, care permite automatizarea aplicațiilor bazate pe Android utilizând un limbaj de scriptare.
Există multe cadre de automatizare dezvoltate, cum ar fi Selendroid, Appium, Robotium, Espresso.
Acest tutorial este împărțit în două părți:
Tutorial # 1 : Selendroid Introducere: Android Mobile Test Automation Framework
Tutorial nr. 2: Cum se utilizează cadrul Selendroid pentru a automatiza interacțiunile utilizatorilor pe o aplicație mobilă (în curând)
Ce veți învăța:
- Ce este Selendroid?
- Componente Selendroid
- Configurarea mediului
- Scrierea primului script folosind fișiere APK pe dispozitive reale
- Concluzie
- Lectură recomandată
Ce este Selendroid?
Selendroid este un instrument uimitor de cadru de automatizare pentru testarea aplicațiilor mobile Android, cu câteva caracteristici importante. Selendroid este un instrument de automatizare foarte puternic care poate interacționa simultan cu mai multe dispozitive și o aplicație poate fi testată fără nicio modificare sau modificare folosind Selendroid.
Se mai numește „Seleniu pentru Android” pentru testarea aplicațiilor mobile native și hibride și a web-ului mobil.
De ce Selendroid?
- Este un open source (gratuit de utilizat)
- Suportă Selenium ca limbaj de scriptare
- Suportă limbaje compatibile cu driverul web, cum ar fi Java, C #, Perl
- Suportă toate versiunile Android
- Funcționează atât pe un emulator, cât și pe dispozitivul real
- Funcționează pe o aplicație nativă, hibridă și bazată pe web
- Eficace în timp ce executați aplicații native, precum și aplicații bazate pe cloud. deoarece susține rețeaua de seleniu
- Suportă recunoașterea obiectelor folosind proprietăți de obiect
- Ușor de implementat
- Dispozitivele hardware pot fi conectate, deconectate de la computer în timpul executării testului, fără a reporni sau opri testul. Selendroid poate recunoaște automat noile dispozitive. Această caracteristică este cunoscută sub numele de „Hotplugging”
O simplă arhitectură a lui Selendroid
Componente Selendroid
Selendroid - Client
Practic, este o bibliotecă client Java. Din această componentă, cererea HTTP și WebDriver sunt trimise folosind JSON către serverul Selendroid Standalone.
Selendroid - autonom
Această componentă gestionează diferite dispozitive, precum și .apk-urile prin instalarea serverului Selendroid și a aplicației supuse testului. Solicitarea Http (care va fi executată pe un dispozitiv / simulator real) este trimisă de pe serverul independent Selendroid către dispozitiv și apk-ul testat.
Selendroid - Server
Acest server rulează pe dispozitiv împreună cu aplicația testată. Există o comunicație bidirecțională între server și aplicația testată.
AndroidDriverApp
Este un driver Android încorporat, precum și o aplicație Web View pentru a testa web-ul mobil.
Un alt cadru de testare numit APPI funcționează similar cu un Selendroid.
Iată o mică comparație între ambele.
Caracteristică | Selendroid | appium |
---|---|---|
Suport pentru versiunea Android inferioară (<4.1) | da | Nu |
Conectare la cald | da | Nu |
Testarea agentului utilizatorului | Nu | da |
Suport pentru aplicația bazată pe iOS | Nu | da |
Cerința de mediu | Pentru Android - Mac, Linux, Windows (orice versiune) | Pentru iOS - Mac OSX 107. Pentru Android - Windows 7+, Linux, Mac OSX 107. |
Cerințe prealabile:
Pentru a începe cu publicul intenționat ar trebui să fie foarte bine conștienți de utilizarea seleniului, a oricăror instrumente IDE, cum ar fi Eclipse etc.
- Instalați Intel x86 Emulator Accelerator (nu este obligatoriu) pentru a vizualiza simulatorul Aici
- Java SDK, JRE deja instalat într-un mediu de testare. Alternativ, puteți descărca același lucru din Aici
Notați calea SDK în timpul instalării.
Setați variabilele de mediu prezente pe Computerul meu -> faceți clic dreapta pe acesta -> Proprietăți -> Setare avansată a sistemului
programe care folosesc c ++
- Eclipse este deja instalat pe aparatul dvs. Dacă nu, puteți descărca același lucru din Aici
- Fișierele cu borcan de seleniu urmează să fie descărcate. Puteți descărca același lucru si de aici
- Borcanele TestNG sunt deja descărcate
- Android SDK va fi descărcat și instalat. Puteți descărca același lucru de la Aici
Notați calea SDK Android în timpul instalării
După descărcare, ANDROID_HOME trebuie setat în variabilele de mediu prezente peste:
Computerul meu -> faceți clic dreapta pe acesta -> Proprietăți -> Setare avansată a sistemului
- Fișierele jar Selendroid trebuie descărcate. Puteți descărca același lucru de la Aici
Tine minte pentru a descărca fișierul Jar Selendroid independent din locația de mai sus. De obicei, numele este ca selendroid-standalone-0.9.0-with-dependencies.jar. De asemenea, descărcați un eșantion de fișier APK spuneți selendroid-test-app-0.8.0.apk din locația de mai sus
Notă:
- Putem folosi și depozit maven pentru a da referința la toate borcanele sau altfel trebuie să le descărcați manual și să o atașați la calea de construire (Over Eclipse Project)
- Dispozitive / Emulatoare - În Android, toate aplicațiile instalate vor avea extensia .apk. În alte moduri, puteți descărca aplicații precum APK Info, care vă vor informa despre lista aplicațiilor instalate pe dispozitivul dvs. Android și numele real, dimensiunea etc.
Configurarea mediului
# 1) Păstrați APK-ul care trebuie instalat într-o locație adecvată
În cazul meu l-am ținut G: \ Jars \ selendroid-test-app-0.8.0.apk
# 2) Apoi, păstrați aplicația peste folderul proiectului
În cazul meu este 500: AppiumAutomation SelendroidFirst
# 3) Conectați dispozitivul real la computer
Asigurându-vă că modul de depanare USB este activat și permiteți instalarea aplicațiilor externe prin conexiunea USB.
Sfaturi:
- Vă rugăm să consultați setarea de depanare USB necesară pentru mobil, spuneți Redmi Note 3 de la Aici
- Permiteți aplicația externă instalată utilizând USB, spuneți Redmi note 3 de la Aici
# 4) Deschideți promptul de comandă pe Windows
Navigați la folderul în care sunt prezenți borcanul autonom Selendroid, precum și fișierul apk descărcat.
Acum specificați comanda similară și apăsați Enter în promptul de comandă
De exemplu. java --jar selendroid-standalone-0.15.0-with-dependencies.jar -aut selendroid-test-app-0.8.0.apk
Sau java –jar selendroid-standalone-0.15.0-with-dependencies.jar
Fișier APK: selendroid-test-app-0.8.0.apk
un dbms open source este:
Notă: Când comanda de mai sus este executată, asigurați-vă că APK-ul este semnat și că dispozitivul real este conectat la PC și depanarea este activată pe dispozitiv.
(Notă: Faceți clic pe imagine pentru o vizualizare mărită)
Verificați următoarele puncte peste promptul de comandă pentru a vă asigura că mediul este pregătit pentru automatizare:
- Verificați mesajul „Dispozitiv specificat cu număr valid”
- Verificați pentru mesajul „serverul este pornit în portul implicit spuneți (4444) ...”
- Verificați pentru mesajul „Se creează sesiunea ...”
Din nou, putem reconfirma oricând dacă un server este pornit sau nu folosind următoarea adresă URL pe oricare dintre browserele dvs. web.
de exemplu. http: // localhost: 4444 / wd / hub / status
# 5) Inspectarea fișierelor APK
- Putem folosi aplicații reale conectând dispozitive mobile reale
- Putem folosi orice fișiere APK offline descărcate
Selendroid Inspector este util în depanarea / inspectarea elementelor web ale APK-ului.
Odată ce dispozitivul este identificat și pornit, putem vizualiza APK-ul (în modul virtual) și găsi referințele, ceea ce este util pentru scrierea scripturilor, folosind următoarea adresă URL pe oricare dintre browserele dvs. web.
De exemplu: http: // localhost: 4444 / inspector
Aici avem captura de ecran a aplicației sub test și avem posibilitatea de a inspecta și elementul.
Sau puteți folosi oricând uiautomatorviewer pentru a găsi obiectele din aplicația testată.
Calea implicită pentru aceasta este menționată mai jos:
C: Utilizatori admin android-sdks tools
C: Utilizatori admin - Aceasta este locația în care am instalat Android SDK-uri, dar poate fi diferită în funcție de locația specificată în timpul instalării sale.
Scrierea primului script folosind fișiere APK pe dispozitive reale
Obiectiv:
- Porniți serverul (pe portul implicit spuneți 4444)
- Creați o sesiune
- Instalați aplicația (fișierul .apk) pe dispozitivul real conectat
- Automatizați câmpul text cu câteva date
- Faceți clic automat pe buton
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); }
Concluzie
Selendroid este un instrument de cadru de testare a automatizării foarte puternic care poate fi utilizat pentru a testa nativ, hibrid, precum și o aplicație web pe orice dispozitiv Android, precum și un simulator.
Suportă Hotplugging, ceea ce înseamnă că un utilizator poate avea mai multe dispozitive testate la un moment dat, prin urmare, este posibilă executarea de teste paralele pe mai multe dispozitive. Acceptă diferite tipuri de interacțiuni precum apăsarea lungă, acțiunile tactile etc.
Singura complexitate cu aceasta este configurarea mediului, care există și în alte cadre. Odată ce este configurat corect, putem avea scripturile noastre care rulează fără dificultăți.
Înpartea 2din acest tutorial Selendoid, vom acoperi - Cum se utilizează cadrul Selendroid pentru a automatiza interacțiunile utilizatorilor pe o aplicație mobilă.
În următorul nostru articol, vom discuta mai multe despre Tutorial de revizuire hands-on pCloudy.
Lectură recomandată
- Tutoriale detaliate pentru eclipsă pentru începători
- Vedeți tutorialul de automatizare a testelor: un ghid al instrumentului de automatizare a testelor mobile
- Tutorial Java Collections Framework (JCF)
- Tutorial de reflecție Java cu exemple
- Tutorial Ranorex: Un instrument puternic de testare pentru desktop, web și mobil
- Tutorial Appium pentru testarea aplicațiilor mobile Android și iOS
- Utilizarea Selendroid pentru a automatiza interacțiunile utilizatorilor într-o aplicație mobilă (partea 2)
- Utilizare avansată a automatizării SeeTest pe proiectul de automatizare mobilă în timp real