selendroid tutorial android mobile test automation framework
Mobil automatisering ved bruk av Selendroid (del-I):
Inntil nå er millioner av apper allerede utviklet med Android som en plattform, og tellingen fortsetter å øke dag for dag.
Fangsten er, hvordan validere hver app? Ettersom vi vil kreve dedikerte ressurser som arbeidskraft, ekte enheter (for eksempel mobil) osv., Og igjen er det en tidkrevende oppgave. På den annen side er Android-versjonen, applikasjonsversjonen (.apk), enhetsdimensjonen etc. ikke konstant.
Derfor blir det veldig vanskelig å definere testutgangskriterier, ettersom vi ikke kan definere det komplette testomfanget, og dermed kan ikke nøyaktig testinnsats estimering gjøres.
For å overvinne enhetsavhengigheten utvikles emulatorer som kan gi miljø i sanntid, der vi kan teste applikasjonen uten å bekymre oss for Android-versjonen, enhetene og deres versjon. Men fortsatt testing av applikasjoner (.apk) over emulator er en manuell aktivitet og til og med en tidkrevende oppgave. Derfor blir ideen om automatisering av mobiltesting utviklet.
For å utføre mobilautomatisering utvikles rammeverket for testautomatisering, som muliggjør automatisering av Android-basert applikasjon ved hjelp av et skriptspråk.
Det er mange automatiseringsrammer utviklet som Selendroid, Appium, Robotium, Espresso.
Denne opplæringen er delt inn i to deler:
Opplæring # 1 : Selendroid Introduksjon: Android Mobile Test Automation Framework
Opplæring # 2: Slik bruker du Selendroid-rammeverk for å automatisere brukerinteraksjoner over en mobilapplikasjon (kommer snart)
mysql intervju spørsmål og svar for 3 års erfaring
Hva du vil lære:
- Hva er Selendroid?
- Selendroid-komponenter
- Miljøoppsett
- Skrive første skript ved hjelp av APK-filer over virkelige enheter
- Konklusjon
- Anbefalt lesing
Hva er Selendroid?
Selendroid er et fantastisk verktøy for Android-applikasjonstestautomatisering, med flere viktige funksjoner. Selendroid er et veldig kraftig automatiseringsverktøy som kan samhandle med flere enheter samtidig, og et program kan testes uten endring eller endring ved hjelp av Selendroid.
Det kalles også “Selen for Android” for testing av native og hybrid mobilapper og mobilnett.
Hvorfor Selendroid?
- Det er en åpen kildekode (gratis å bruke)
- Støtter Selen som skriptspråk
- Støtter språk som er kompatible med webdrivere, for eksempel Java, C #, Perl
- Støtter alle Android-versjoner
- Fungerer både på en emulator så vel som den virkelige enheten
- Fungerer på et native, hybrid og nettbasert program
- Effektiv mens du kjører native applikasjoner i tillegg til skybasert applikasjon. da det støtter selenett
- Den støtter gjenkjenning av objekter ved hjelp av objektegenskaper
- Enkel å implementere
- Maskinvareenheter kan plugges, kobles fra PCen under testutførelse, uten å starte eller stoppe testen. Selendroid kan gjenkjenne de nye enhetene automatisk. Denne funksjonen er kjent som 'Hotplugging'
En enkel arkitektur av Selendroid
Selendroid-komponenter
Selendroid - klient
I utgangspunktet er det et java-klientbibliotek. Fra denne komponenten blir HTTP- og WebDriver-forespørselen sendt med JSON til Selendroid frittstående server.
Selendroid - frittstående
Denne komponenten styrer forskjellige enheter så vel som .apk-ene ved å installere Selendroid-serveren og appen som testes. HTTP-forespørselen (som skal utføres over ekte enhet / simulator) blir sendt fra Selendroid frittstående server til enheten og apk under test.
Selendroid - Server
Denne serveren kjører over enheten sammen med applikasjonen som testes. Det er en toveiskommunikasjon mellom serveren og applikasjonen som testes.
AndroidDriverApp
Det er en innebygd Android-driver samt en Web View-app for å teste mobilnettet.
Et annet testrammeverk som heter APPI fungerer som en Selendroid.
Her er en liten sammenligning mellom begge.
Trekk | Selendroid | appium |
---|---|---|
Støtte for lavere Android-versjon (<4.1) | Ja | Ikke |
Varm plugging | Ja | Ikke |
Testing av brukeragent | Ikke | Ja |
Støtte for iOS-basert applikasjon | Ikke | Ja |
Miljøkrav | For Android - Mac, Linux, Windows (hvilken som helst versjon) | For iOS - Mac OSX 107. For Android - Windows 7+, Linux, Mac OSX 107. |
Forutsetninger:
Til å begynne med det tiltenkte publikum bør være veldig godt klar over bruk av selen, alle IDE-verktøy som formørkelse osv. Grunnleggende begreper for programmering sier Java, C osv ... og må være klar over å bruke Maven og andre TESTING-verktøy.
- Installer Intel x86 Emulator Accelerator (ikke obligatorisk) for å se simulatoren fra her
- Java SDK, JRE allerede installert i et testmiljø. Alternativt kan du laste ned det samme fra her
Noter ned SDK-banen mens du installerer.
Still miljøvariablene som er tilstede over Min datamaskin -> høyreklikk på den -> Egenskaper -> Avansert systeminnstilling
- Eclipse er allerede installert på maskinen din. Hvis ikke, kan du også laste ned det samme fra her
- Selenburkfiler skal lastes ned. Du kan laste ned det samme herfra også
- TestNG-krukker er allerede lastet ned
- Android SDK skal lastes ned og installeres. Du kan også laste ned det samme fra her
Noter ned Android SDK-banen mens du installerer
Når du har lastet ned, skal ANDROID_HOME settes i miljøvariablene som er tilstede over:
Min datamaskin -> høyreklikk på den -> Egenskaper -> Avansert systeminnstilling
- Selendroid jar-filer skal lastes ned. Du kan også laste ned det samme fra her
Huske for å laste ned Selendroid frittstående jar-fil fra stedet ovenfor. Vanligvis er navnet som selendroid-frittstående-0.9.0-med-avhengigheter.jar. Last ned også en APK-fil, si selendroid-test-app-0.8.0.apk fra stedet ovenfor
Merk:
- Vi kan også bruke maven depot for å gi referansen til alle glassene, ellers må du laste dem ned manuelt og feste den til byggestien (Over Eclipse Project)
- Enheter / emulatorer - I android vil alle installerte applikasjoner ha .apk-utvidelsen. På andre måter kan du laste ned apper som APK Info som vil informere deg om listen over applikasjoner som er installert på din Android-enhet og dens faktiske navn, størrelse osv ...
Miljøoppsett
# 1) Hold APK-en som må installeres på et riktig sted
I mitt tilfelle holdt jeg det over G: \ Krukker \ selendroid-test-app-0.8.0.apk
# 2) Neste, hold applikasjonen over prosjektmappen
I mitt tilfelle er det 500: AppiumAutomation SelendroidFirst
# 3) Koble den virkelige enheten til PCen
Sørg for at USB-feilsøkingsmodus er aktivert, og at du tillater at eksterne apper blir installert via USB-tilkobling.
Tips:
- Se USB-feilsøkingsinnstillingen som kreves for mobil, si Redmi Note 3 fra her
- Tillat ekstern applikasjon installert ved hjelp av USB si Redmi note 3 fra her
# 4) Åpne ledeteksten over Windows
Naviger til mappen der Selendroid frittstående krukke, samt den nedlastede apk-filen, er til stede.
Spesifiser nå den samme kommandoen og trykk enter i ledeteksten
F.eks. java --jar selendroid-frittstående-0.15.0-med-avhengigheter.jar -aut selendroid-test-app-0.8.0.apk
Eller java –jar selendroid-frittstående-0.15.0-med-avhengigheter.jar
APK-fil: selendroid-test-app-0.8.0.apk
Merk: Når kommandoen ovenfor blir utført, må du sørge for at APK er signert og at den virkelige enheten er koblet til PC-en, og feilsøking er aktivert over enheten.
(Merk: Klikk på bildet for en forstørret visning)
Kontroller følgende punkter over ledeteksten for å sikre at miljøet er klart for automatisering:
- Bekreft for meldingen “Enhetsspesifisert med gyldig nummer”
- Bekreft for meldingen 'serveren er startet i standard port si (4444) ...'
- Bekreft for meldingen 'Økten blir opprettet ...'
Igjen kan vi alltid bekrefte om en server er startet eller ikke bruker følgende URL over noen av nettleserne.
sql spørring praksis spørsmål svar pdf
f.eks. http: // localhost: 4444 / wd / hub / status
# 5) Inspisere APK-ene
- Vi kan bruke ekte apper ved å koble til ekte mobile enheter
- Vi kan bruke alle offline offline-filer som er lastet ned
Selendroid Inspector er nyttig i feilsøking / inspeksjon av webelementene til APK.
Når enheten er identifisert og startet, kan vi se APK-en (i virtuell modus) og finne referansene, som er nyttige for å skrive skriptene, ved å bruke følgende URL over noen av nettleserne.
F.eks .: http: // localhost: 4444 / inspektør
Her har vi skjermbildet av applikasjonen som testes, og vi har muligheten til å inspisere elementet også.
Eller du kan alltid bruke uiautomatorviewer for å finne gjenstandene fra applikasjonen som testes.
Standardstien for dette er nevnt nedenfor:
C: Brukere admin android-sdks verktøy
C: Brukere admin - Dette er stedet der jeg har installert Android SDK-er, men det kan være forskjellig fra stedet som ble spesifisert under installasjonen.
Skrive første skript ved hjelp av APK-filer over virkelige enheter
Objektiv:
- Start serveren (på standardport si 4444)
- Lag en økt
- Installer applikasjonen (.apk-filen) over den tilkoblede virkelige enheten
- Automatiser tekstfeltet med litt data
- Klikk automatisk på knappen
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); }
Konklusjon
Selendroid er et veldig kraftig verktøy for automatiseringstest, som kan brukes til å teste native, hybrid så vel som en webapp på hvilken som helst Android-enhet samt en simulator.
Den støtter Hotplugging, noe som betyr at en bruker kan få testet flere enheter om gangen, og det er derfor mulig å utføre parallell test på flere enheter. Den støtter forskjellige slags interaksjoner som langt trykk, berøringshandlinger osv ...
Bare kompleksitet med det er miljøoppsettet, som også er der i andre rammer. Når den er riktig konfigurert, kan vi ha skriptene våre i gang uten problemer.
Idel 2av denne Selendoid-opplæringen, vil vi dekke - Hvordan bruke Selendroid-rammeverk for å automatisere brukerinteraksjonene over en mobilapplikasjon.
I vår neste artikkel vil vi diskutere mer om pCloudy Hands-on Review Tutorial.
Anbefalt lesing
- In-Depth Eclipse Tutorials For Beginners
- SeeTest Automation Tutorial: A Mobile Test Automation Tool Guide
- Opplæring i Java Collections Framework (JCF)
- Java Reflection Tutorial med eksempler
- Ranorex-opplæring: Et kraftig testverktøy for skrivebord, nett og mobil automatisering
- Appium-veiledning for testing av Android- og iOS-mobilapper
- Bruke Selendroid til å automatisere brukerinteraksjoner over en mobilapp (del 2)
- Avansert bruk av SeeTest-automatisering på sanntids mobilautomatiseringsprosjekt