selendroid tutorial android mobile test automation framework
Mobiele automatisering met Selendroid (Deel-I):
Tot nu toe zijn er al miljoenen apps ontwikkeld met Android als platform en het aantal blijft met de dag toenemen.
De vangst is: hoe valideer je elke app? Omdat we speciale middelen nodig hebben, zoals mankracht, echte apparaten (bijvoorbeeld mobiel) enz., En nogmaals, het is een tijdrovende taak. Aan de andere kant zijn de Android-versie, de applicaties (.apk) -versie, de apparaatafmetingen enz. Niet constant.
Daarom wordt het erg moeilijk om testuitgangscriteria te definiëren omdat we niet de volledige testscope kunnen definiëren, waardoor een exacte schatting van de testinspanning niet mogelijk is.
Om de apparaatafhankelijkheid te overwinnen, worden emulators ontwikkeld die een realtime-achtige omgeving kunnen bieden, waarin we de applicatie kunnen testen zonder ons zorgen te hoeven maken over de Android-versie, apparaten en hun versie. Maar nog steeds is het testen van applicaties (.apk) via emulator een handmatige activiteit en zelfs een tijdrovende taak. Daarom wordt het idee van het automatiseren van mobiel testen ontwikkeld.
Om mobiele automatisering uit te voeren, is een testautomatiseringsraamwerk ontwikkeld, dat automatisering van Android-gebaseerde applicaties mogelijk maakt met behulp van een scripttaal.
Er zijn veel automatiseringsframeworks ontwikkeld zoals Selendroid, Appium, Robotium, Espresso.
Deze tutorial is opgedeeld in twee delen:
Zelfstudie # 1 Selendroid Inleiding: Android Mobile Test Automation Framework
Tutorial # 2: Selendroid-framework gebruiken om de gebruikersinteracties via een mobiele applicatie te automatiseren (binnenkort beschikbaar)
Wat je leert:
- Wat is Selendroid?
- Selendroid-componenten
- Milieu-instellingen
- Eerste script schrijven met APK-bestanden via echte apparaten
- Gevolgtrekking
- Aanbevolen literatuur
Wat is Selendroid?
Selendroid is een geweldige Android-tool voor het automatiseren van het testen van mobiele applicaties met verschillende belangrijke functies. Selendroid is een zeer krachtige automatiseringstool die met meerdere apparaten tegelijk kan communiceren en een applicatie kan worden getest zonder enige wijziging of wijziging met Selendroid.
Het wordt ook wel 'Selenium voor Android' voor het testen van native en hybride mobiele apps en mobiel internet.
Waarom Selendroid?
- Het is een open source (gratis te gebruiken)
- Ondersteunt Selenium als scripttaal
- Ondersteunt talen die compatibel zijn met webstuurprogramma's, zoals Java, C #, Perl
- Ondersteunt alle Android-versies
- Werkt zowel op een emulator als op het echte apparaat
- Werkt op een native, hybride en webgebaseerde applicatie
- Effectief tijdens het uitvoeren van native applicaties en cloudgebaseerde applicaties. omdat het seleniumrooster ondersteunt
- Het ondersteunt objectherkenning met behulp van objecteigenschappen
- Makkelijk te implementeren
- Hardwareapparaten kunnen worden aangesloten en van de pc worden losgekoppeld tijdens het uitvoeren van de test, zonder de test opnieuw te starten of te stoppen. Selendroid kan de nieuwe apparaten automatisch herkennen. Deze functie staat bekend als 'Hotplugging'
Een eenvoudige architectuur van Selendroid
Selendroid-componenten
Selendroid - Client
In feite is het een Java-clientbibliotheek. Vanaf dit onderdeel worden de HTTP- en WebDriver-verzoeken met JSON naar de Selendroid Standalone-server verzonden.
Selendroid - Standalone
Deze component beheert verschillende apparaten evenals de .apk's door de Selendroid-server en de te testen app te installeren. Het Http-verzoek (dat moet worden uitgevoerd via een echt apparaat / simulator) wordt verzonden vanaf de zelfstandige Selendroid-server naar het apparaat en de te testen APK.
Selendroid - Server
Deze server draait samen met de te testen applicatie over het apparaat. Er is tweerichtingscommunicatie tussen de server en de te testen applicatie.
AndroidDriverApp
Het is een ingebouwd Android-stuurprogramma en een Web View-app om het mobiele web te testen.
Een ander testraamwerk genaamd APPI werkt vergelijkbaar met een Selendroid.
Hier is een kleine vergelijking tussen beide.
Voorzien zijn van | Selendroid | appium |
---|---|---|
Ondersteuning voor lagere Android-versie (<4.1) | Ja | Niet doen |
Hot-pluggen | Ja | Niet doen |
User Agent testen | Niet doen | Ja |
Ondersteuning voor op iOS gebaseerde applicatie | Niet doen | Ja |
Milieuvereisten | Voor Android - Mac, Linux, Windows (elke versie) | Voor iOS - Mac OSX 107. Voor Android - Windows 7+, Linux, Mac OSX 107. |
Voorwaarden:
Om te beginnen moet het beoogde publiek heel goed op de hoogte zijn van het gebruik van selenium, alle IDE-tools zoals Eclipse etc. Basisconcepten van programmeren zeggen Java, C etc… en ze moeten zich bewust zijn van het gebruik van Maven en andere TEST-tools.
- Installeer Intel x86 Emulator Accelerator (niet verplicht) om de simulator te bekijken hier
- Java SDK, JRE is al geïnstalleerd in een testomgeving. Als alternatief kunt u hetzelfde downloaden van hier
Noteer het SDK-pad tijdens het installeren.
Stel de omgevingsvariabelen in die aanwezig zijn via Deze computer -> klik er met de rechtermuisknop op -> Eigenschappen -> Geavanceerde systeeminstellingen
- Eclipse is al op uw computer geïnstalleerd. Zo niet, dan kunt u hetzelfde ook downloaden van hier
- Selenium jar-bestanden moeten worden gedownload. U kunt hetzelfde downloaden vanaf hier ook
- TestNG-potten zijn al gedownload
- Android SDK om te downloaden en te installeren. U kunt hetzelfde ook downloaden van hier
Noteer het Android SDK-pad tijdens het installeren
Na het downloaden moet de ANDROID_HOME worden ingesteld in de aanwezige omgevingsvariabelen:
hoofdoorzaakanalyse bij het testen van software
Deze computer -> klik er met de rechtermuisknop op -> Eigenschappen -> Geavanceerde systeeminstellingen
- Selendroid jar-bestanden moeten worden gedownload. U kunt hetzelfde ook downloaden van hier
Onthouden om het zelfstandige jar-bestand van Selendroid te downloaden vanaf de bovenstaande locatie. Gewoonlijk is de naam selendroid-standalone-0.9.0-with-dependencies.jar. Download ook een voorbeeld van een APK-bestand, zeg selendroid-test-app-0.8.0.apk vanaf de bovenstaande locatie
Notitie:
- We kunnen ook gebruik maken van maven repository om de verwijzing naar alle potten te geven, anders moet je ze handmatig downloaden en aan het buildpad koppelen (Over Eclipse Project)
- Apparaten / emulators - In Android hebben alle geïnstalleerde applicaties de .apk-extensie. Op andere manieren kun je apps downloaden zoals APK Info die je informeren over de lijst met applicaties die op je Android-apparaat zijn geïnstalleerd en de werkelijke naam, grootte enz ...
Milieu-instellingen
# 1) Bewaar de APK die geïnstalleerd moet worden op een geschikte locatie
In mijn geval heb ik het bewaard G: \ Potten \ selendroid-test-app-0.8.0.apk
# 2) Bewaar vervolgens de applicatie boven de projectmap
In mijn geval wel 500: AppiumAutomation SelendroidFirst
# 3) Verbind het echte apparaat met de pc
Zorg ervoor dat de USB-foutopsporingsmodus is ingeschakeld en dat u externe apps via een USB-verbinding laat installeren.
Tips:
- Raadpleeg de USB-foutopsporingsinstelling die vereist is voor mobiel, zeg Redmi Note 3 van hier
- Sta externe applicatie toe die is geïnstalleerd met behulp van USB, zeg Redmi note 3 van hier
# 4) Open de opdrachtprompt via Windows
Navigeer naar de map waar Selendroid standalone jar, evenals het gedownloade apk-bestand, aanwezig zijn.
Geef nu de vergelijkbare opdracht op en druk op Enter in de opdrachtprompt
Bijv. java --jar selendroid-standalone-0.15.0-met-afhankelijkheden.jar -aut selendroid-test-app-0.8.0.apk
Of java –jar selendroid-standalone-0.15.0-with-dependencies.jar
APK-bestand: selendroid-test-app-0.8.0.apk
Notitie: Wanneer de bovenstaande opdracht wordt uitgevoerd, zorg er dan voor dat de APK is ondertekend en dat ook het echte apparaat op de pc is aangesloten en dat foutopsporing via het apparaat is ingeschakeld.
Opmerking: Klik op de afbeelding voor een vergrote weergave)
Controleer de volgende punten bij de opdrachtprompt om er zeker van te zijn dat de omgeving klaar is voor automatisering:
- Controleer op bericht 'Apparaat gespecificeerd met geldig nummer'
- Controleer of het bericht 'server is gestart in standaardpoort, zeg (4444) ...'
- Controleer op het bericht 'Sessie wordt gemaakt ...'
Nogmaals, we kunnen altijd opnieuw bevestigen of een server is gestart of niet met behulp van de volgende URL via een van uw webbrowsers.
bijv. http: // localhost: 4444 / wd / hub / status
# 5) Inspecteren van de APK's
- We kunnen Real Apps gebruiken door echte mobiele apparaten te verbinden
- We kunnen alle gedownloade offline APK-bestanden gebruiken
Selendroid Inspector is handig bij het debuggen / inspecteren van de webelementen van APK.
Zodra het apparaat is geïdentificeerd en gestart, kunnen we de APK bekijken (in virtuele modus) en de referenties vinden, wat handig is voor het schrijven van de scripts, met behulp van de volgende URL in al uw webbrowsers.
Bijv .: http: // localhost: 4444 / inspector
Hier hebben we de screenshot van de applicatie die wordt getest en we hebben ook de mogelijkheid om het element te inspecteren.
Of u kunt altijd gebruiken uiautomatorviewer om de objecten van de te testen applicatie te vinden.
Het standaardpad hiervoor wordt hieronder vermeld:
C: Users admin android-sdks tools
C: Users admin - Dit is de locatie waar ik Android SDK's heb geïnstalleerd, maar deze kan verschillen afhankelijk van de locatie die is opgegeven tijdens de installatie.
Eerste script schrijven met APK-bestanden via echte apparaten
Objectief:
- Start de server (op de standaardpoort zeg 4444)
- Maak een sessie
- Installeer de applicatie (.apk-bestand) over het aangesloten echte apparaat
- Automatiseer het tekstveld met wat gegevens
- Klik automatisch op de knop
Gevolgtrekking
Selendroid is een zeer krachtige tool voor het testen van automatiseringstests die kan worden gebruikt om native, hybride en een webapp op elk Android-apparaat en een simulator te testen.
Het ondersteunt Hotplugging, wat betekent dat een gebruiker meerdere apparaten tegelijk kan laten testen, waardoor parallelle testuitvoering op meerdere apparaten mogelijk is. Het ondersteunt verschillende soorten interacties zoals lang drukken, aanraakacties, enz ...
De enige complexiteit ermee is de omgevingsopstelling, die er ook is in andere kaders. Als het eenmaal correct is ingesteld, kunnen we onze scripts zonder problemen laten draaien.
Indeel 2van deze Selendoid-zelfstudie behandelen we - Hoe Selendroid-framework te gebruiken om de gebruikersinteracties via een mobiele applicatie te automatiseren.
In ons volgende artikel zullen we er meer over bespreken pCloudy Hands-on Review-zelfstudie.
Aanbevolen literatuur
- Diepgaande Eclipse-zelfstudies voor beginners
- Zie Testautomatisering: een handleiding voor mobiele testautomatiseringstools
- Zelfstudie voor Java Collections Framework (JCF)
- Zelfstudie over reflectie in Java met voorbeelden
- Ranorex-zelfstudie: een krachtige testtool voor desktop-, web- en mobiele automatisering
- Appium-zelfstudie voor het testen van mobiele Android- en iOS-apps
- Selendroid gebruiken om de gebruikersinteracties via een mobiele app te automatiseren (deel 2)
- Geavanceerd gebruik van SeeTest-automatisering op realtime mobiele automatiseringsproject