introduction appium
Denna handledning förklarar vad som är Appium, dess arkitektur, arbetsflöde och hur man använder det här källkodsverktyget för mobil automatisering på Android och iOS:
Appium är ett open source-verktyg för mobil automatisering som tillhandahåller automatisering på plattformar som Android, iOS etc.
Det stöder också automatisering med flera programmeringsspråk som Java, PHP, Perl, Python, etc.Så användarna kan använda vilket programmeringsspråk de är bekväma med och skriva automatiserade skript.
=> Se upp den enkla Appium-träningsserien här.
Vad du kommer att lära dig:
Vad är Appium?
Här är en videohandledning:
Översikt över appar
Alla applikationer kan automatiseras inklusive Native, Hybrid och webbappar.Nedan följer en enkel översikt över olika typer av applikationer.
- Inbyggda appar: Dessa apparskrivs med iOS, Android eller Windows SDK.Dessa kan endast nås efter installation i enheten. Till exempel, Skype, som endast kan användas efter installation i enheten. Vi kan inte öppna appen via webbläsaren.
- webb Appar: Mobila webbapparkan nås med en mobil webbläsare.Webbappar kan endast nås via webbläsaren. Till exempel, softwaretestinghelp.com kan endast nås via webbläsaren. Vi har inte en separat app tillgänglig för webbplatsen.
- Hybrid Appar: Dessaapparha ett omslag kring en 'webbvisning' - en integrerad kontroll som möjliggör interaktion med webbinnehåll.Dessa kan installeras i enheten och nås via webbläsarens URL. Till exempel, Amazon kan installeras som en separat app i enheten och kan också nås via webbläsaren som Amazon.
Ännu viktigare är att detta verktyg är 'plattformsövergripande' - vilket gör att du kan skriva tester mot flera plattformar (iOS, Android, Windows) med samma API. Detta möjliggör återanvändning av kod mellan iOS-, Android- och Windows-enheter.
Arkitektur av epoker
Detta är en HTTP-server skriven på Node.js programmeringsspråk som hanterar WebDriver-sessioner. Appium-servern tar emot HTTP-förfrågningar från klientbiblioteken i JSON-format. Förfrågningarna hanteras sedan på olika sätt, beroende på vilken plattform den körs på.
Det följer klient-serverarkitekturen. Det finns 3 komponenter som ingår i den:
- appiumklient
- appium-server
- Avsluta enheten
# 1) Marcus-klient
Den automatiserade skriptkoden är vad vi kallar Appium Client.
ladda ner mongodb för Windows 10 64 bitar
Koden är skriptad på vilket programmeringsspråk som helst som PHP, Java, Phyton etc. Detta automatiseringsskript innehåller konfigurationsdetaljerna för den mobila enheten och applikationen. Tillsammans med det är logiken / koden för att köra testfallet i applikationen skriptad.
# 2) epokserver
Appium-servern skrivs med hjälp av Node.js programmeringsspråk.Den tar emot anslutnings- och kommandoförfrågningar från Appium-klienten i JSON-format och kör det kommandot på mobila enheter. Servern är nödvändig för att installeras i maskinen och startas innan den anropar automatiseringskoden.
Servern interagerar med olika plattformar som iOS och Android. Det skapar en session för att interagera med slutenheter i mobilappar. Det är en HTTP-server skriven på Node.js programmeringsspråk som läser HTTP-förfrågningar från klientbiblioteken och skickar dessa förfrågningar till lämplig plattform.
För att starta servern måste användare ladda ner källan eller installera den direkt från Npm. Det tillhandahåller också GUI-versionen av servern. Du kan ladda ner det från det officiella Appium webbplats .
I nästa kapitel kommer vi att diskutera GUI-versionen mer detaljerat. En av de största fördelarna med detta verktyg är att koden du använder för att interagera med den är skriven på många språk som Java, C #, Ruby, Python, etc. eftersom Appium är REST API i sin kärna.
# 3) Avsluta enheten
Det här är mestadels en mobil enhet i realtid eller en emulator. Automationsskripten körs i slutenheten av Appium-servern av kommandona från klienten.
Arbetsflödet av appiumarkitektur
Appium-klienten som innehåller konfigurationsdetaljer och automatiseringsskript för testfall skickar kommandona till servern i JSON-format. Automationsskriptet konverteras till JSON-format av inbyggda jar-filer i klienten.
Appium Server känner sedan igen kommandot och upprättar en anslutning med motsvarande slutenhet. När anslutningen är klar utlöser den körningen av testfall i slutenheten. Slutanordningen svarar på begäran i form av HTTP till Appium.
När och när testfallet körs i den mobila enheten / emulatorn fylls den i loggen för alla åtgärder som utförts i enheten / emulatorn.
Arbeta med Appium på iOS
Detta verktyg använder Apples UIAutomation API för att interagera med UI-elementen i applikationen på en iOS-enhet. UIAutomation är ett JavaScript-bibliotek som tillhandahålls av Apple Company. Den använder dessa bibliotek för att automatisera applikationerna i iOS.
När vi kör testskripten tas kommandona i testskripten i form av JSON via en HTTP-begäran till Appium-servern. Servern skickar kommandot till dessa instrument och instrumenten letar efter filen bootstrap.js.
Sedan körs dessa kommandon i filen bootstrap.js i iOS-instrumentens miljö. Efter körning av kommandot skickar klienten tillbaka meddelandet (framgång / misslyckande) till Appium-servern med logginformationen för det körda kommandot.
Arbeta med Appium på Android
hur man undviker nollpekare undantag i java
Appium använder UIAutomator-ramverket för att interagera med UI-elementen i applikationen på en Android-enhet. UIAutomator är ett ramverk som utvecklats av Android-utvecklarna för att testa dess användargränssnitt.
Här, istället för UIAutomation API som vi såg i Apple, har vi en UIAutomator / Selendroid och bootstrap.jar istället för filen bootstrap.js. Den stöder alla Android-versioner som är större än eller lika med 17; för tidigare versioner av Android använder Appium Selendroid-ramverket.
När vi kör testskripten skickar Appium kommandot i JSON-format till UIAutomator eller Selendroid baserat på Android-versionen. Här fungerar bootstrap.jar som en TCP-server, som vi kan använda för att skicka testkommandot för att utföra åtgärden på Android-enheten med UIAutomator / Selendroid.
Slutsats
I det här kapitlet fick vi en grundläggande förståelse för Appium, det är arkitektur, Workflow och Working of Appium på iOS / Android.
I nästa kapitel kommer vi att se hur du konfigurerar Appium och annan grundläggande programvara som ska installeras för Mobile Automation på riktiga enheter.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Skapa appiumtest för en Android-app
- Introduktion till Appium Studio: Viktiga fördelar och funktioner
- Köra dina appiumtester parallellt med Appium Studio för Eclipse
- Skapa epoktester med epoker Studio för Eclipse
- Appium Studio for Eclipse: End-to-end Appium / Selenium Automation From Eclipse
- Appium-handledning för testning av Android- och iOS-mobilappar
- Ansluter riktiga iOS- och Android-enheter från moln till Appium Studio
- Skapa Appium Test för en iOS-app