introduction appium
In deze zelfstudie wordt uitgelegd wat Appium is, de architectuur, de workflow en hoe u deze open-source tool voor mobiele automatisering op Android en iOS kunt gebruiken:
Appium is een open-source tool voor mobiele automatisering die automatisering biedt op platforms zoals Android, iOS, enz.
Het ondersteunt ook automatisering met behulp van meerdere programmeertalen zoals Java, PHP, Perl, Python, enz.Gebruikers kunnen dus elke programmeertaal gebruiken waarmee ze vertrouwd zijn en geautomatiseerde scripts schrijven.
Bekijk hier de eenvoudige Appium-trainingsserie.
Wat je leert:
Wat is Appium?
Hier is een video-tutorial:
Overzicht van apps
Alle applicaties kunnen worden geautomatiseerd, inclusief native, hybride en webapps.Hieronder vindt u een eenvoudig overzicht van verschillende soorten toepassingen.
- Native apps: Deze appszijn geschreven met iOS-, Android- of Windows-SDK's.Deze zijn alleen toegankelijk na installatie in het apparaat. Bijvoorbeeld, Skype, dat alleen kan worden gebruikt na installatie op het apparaat. We kunnen de app niet openen via de browser.
- Web Apps: Mobiele webappstoegankelijk via een mobiele browser.Webapps zijn alleen toegankelijk via een browser. Bijvoorbeeld, softwaretestinghelp.com is alleen toegankelijk via de browser. We hebben geen aparte app beschikbaar voor de website.
- Hybride Apps: Dezeappseen omhulsel hebben rond een 'webview' - een native besturingselement dat interactie met webcontent mogelijk maakt.Deze kunnen op het apparaat worden geïnstalleerd en zijn ook toegankelijk via de browser-URL. Bijvoorbeeld, Amazon kan als een aparte app op het apparaat worden geïnstalleerd en is ook toegankelijk via een browser als Amazon.
Wat nog belangrijker is, deze tool is ‘cross-platform’ - waarmee je tests kunt schrijven op meerdere platforms (iOS, Android, Windows) met dezelfde API. Dit maakt hergebruik van code mogelijk tussen iOS-, Android- en Windows-apparaten.
Architectuur van tijdperken
Dit is een HTTP-server geschreven in de programmeertaal Node.js die WebDriver-sessies afhandelt. De Appium-server ontvangt HTTP-verzoeken van de clientbibliotheken in JSON-formaat. De verzoeken worden vervolgens op verschillende manieren afgehandeld, afhankelijk van het platform waarop het draait.
Het volgt de Client-Server-architectuur. Er zitten 3 componenten in:
- appium-client
- appium server
- Einde apparaat
# 1) Marcus-klant
De geautomatiseerde scriptcode is wat we noemen als Appium Client.
software ontwikkeling levenscyclusmodellen pdf
De code is gescript in elke programmeertaal zoals PHP, Java, Phyton, enz. Dit automatiseringsscript bevat de configuratiedetails van het mobiele apparaat en de applicatie. Daarnaast wordt de logica / code om de testgevallen van de applicatie uit te voeren gescript.
# 2) tijdperken server
Appium-server is geschreven met de programmeertaal Node.js.Het ontvangt verbindings- en opdrachtverzoeken van de Appium-client in JSON-indeling en voert die opdracht uit op mobiele apparaten. De server moet op de machine worden geïnstalleerd en wordt gestart voordat de automatiseringscode wordt aangeroepen.
De server werkt samen met verschillende platforms zoals iOS en Android. Het creëert een sessie om te communiceren met eindapparaten van mobiele apps. Het is een HTTP-server geschreven in de programmeertaal Node.js die de HTTP-verzoeken van de clientbibliotheken leest en deze naar het juiste platform verzendt.
Om de server te starten, moeten gebruikers de bron downloaden of deze rechtstreeks vanuit Npm installeren. Het biedt ook de GUI-versie van de server. Je kunt het downloaden van het officiële Appium site
In het volgende hoofdstuk zullen we de GUI-versie in meer detail bespreken. Een van de grootste voordelen van deze tool is dat de code die je gebruikt om ermee te communiceren in vele talen is geschreven, zoals Java, C #, Ruby, Python, enz., Aangezien Appium in de kern REST API is.
# 3) Eindapparaat
Dit is meestal een realtime mobiel apparaat of een emulator. De automatiseringsscripts worden in het eindapparaat uitgevoerd door de Appium-server door de commando's van de klant.
De workflow van Appium-architectuur
De Appium Client die de configuratiedetails en het automatiseringsscript voor de testgevallen bevat, stuurt de commando's naar de server in JSON-formaat. Het automatiseringsscript wordt geconverteerd naar JSON-indeling door ingebouwde jar-bestanden in de client.
Appium Server herkent vervolgens de opdracht en brengt een verbinding tot stand met het bijbehorende eindapparaat. Zodra de verbinding tot stand is gebracht, activeert deze de uitvoering van testgevallen in het eindapparaat. Het eindapparaat reageert op het verzoek in de vorm van HTTP naar de Appium.
Wanneer de testgevallen worden uitgevoerd in het mobiele apparaat / emulator, wordt het logboek gevuld met alle acties die zijn uitgevoerd in het apparaat / emulator.
Werking van Appium op iOS
Deze tool gebruikt de UIAutomation API van Apple om te communiceren met de UI-elementen van de applicatie op een iOS-apparaat. UIAutomation is een JavaScript-bibliotheek die wordt aangeboden door Apple Company. Het gebruikt deze bibliotheken om de applicaties in iOS te automatiseren.
Wanneer we de testscripts uitvoeren, worden de commando's in de testscripts in de vorm van JSON via een HTTP-verzoek naar de Appium-server gehaald. De server stuurt het commando naar deze instrumenten en de instrumenten zoeken naar het bestand bootstrap.js.
Vervolgens worden deze opdrachten uitgevoerd in het bootstrap.js-bestand binnen de iOS-instrumentenomgeving. Na het uitvoeren van de opdracht stuurt de client het bericht (succes / mislukking) terug naar de Appium-server met de loggegevens van de uitgevoerde opdracht.
Werking van Appium op Android
c c ++ interviewvragen
Appium gebruikt het UIAutomator-framework om te communiceren met de UI-elementen van de applicatie op een Android-apparaat. De UIAutomator is een raamwerk dat is ontwikkeld door de Android-ontwikkelaars om de gebruikersinterface te testen.
Hier hebben we in plaats van UIAutomation API zoals we in Apple zagen, een UIAutomator / Selendroid en bootstrap.jar in plaats van het bootstrap.js-bestand. Het ondersteunt alle Android-versies die groter zijn dan of gelijk zijn aan 17; Voor eerdere versies van Android gebruikt Appium het Selendroid-framework.
Wanneer we de testscripts uitvoeren, stuurt Appium het commando in JSON-formaat naar de UIAutomator of Selendroid op basis van de Android-versie. Hier fungeert bootstrap.jar als een TCP-server, die we kunnen gebruiken om het testcommando te verzenden om de actie op het Android-apparaat uit te voeren met UIAutomator / Selendroid.
Gevolgtrekking
In dit hoofdstuk hebben we een basiskennis gekregen van Appium, de architectuur, workflow en werking van Appium op iOS / Android.
In het volgende hoofdstuk zullen we zien hoe u Appium en andere basissoftware installeert voor mobiele automatisering op echte apparaten.
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Maak Appium-tests voor een Android-app
- Inleiding tot Appium Studio: belangrijkste voordelen en functies
- Uw Appium-tests parallel uitvoeren met Appium Studio voor Eclipse
- Epochs-tests maken met epochs Studio for Eclipse
- Appium Studio voor Eclipse: end-to-end Appium / Selenium-automatisering van Eclipse
- Appium-zelfstudie voor het testen van mobiele Android- en iOS-apps
- Echte iOS- en Android-apparaten verbinden van Cloud naar Appium Studio
- Maak een Appium-test voor een iOS-app