Wat is Appium?
APPIUM is een vrij gedistribueerde open source UI-testframework voor mobiele applicaties. Appium maakt het testen van native, hybride en webapplicaties mogelijk en ondersteunt automatiseringstests op zowel fysieke apparaten als een emulator of simulator. Het biedt platformonafhankelijke applicatietests, dwz een enkele API werkt voor testscripts voor zowel Android- als iOS-platformen.
Het heeft GEEN afhankelijkheid van het besturingssysteem van een mobiel apparaat. Omdat APPIUM een framework of wrapper heeft die Selenium Webdriver-opdrachten vertaalt naar UIAutomation (iOS) of UIAutomator (Android) -opdrachten, afhankelijk van het apparaattype, niet naar een willekeurig OS-type.
Appium ondersteunt alle talen met Selenium-clientbibliotheken zoals Java, Objective-C, JavaScript met node.js, PHP, Ruby, Python, C #, enz.
In deze tutorial zullen we leren over
- Hoe APPIUM werkt?
- Vereiste om APPIUM te gebruiken
- Installeer Appium Desktop:
- APPIUM inspecteur
- Koppel Android Emulator aan Appium
- APPIUM-testcase voor native Android-app (rekenmachine)
- Beperkingen bij het gebruik van APPIUM
- Veelvoorkomende fouten en stappen voor probleemoplossing in Appium
Hoe APPIUM werkt?
- Appium is een 'HTTP-server' geschreven met behulp van een Node.js-platform en stuurt iOS- en een Android-sessie aan met behulp van het Webdriver JSON-draadprotocol. Daarom moet Node.js vooraf op het systeem zijn geïnstalleerd voordat de Appium Server wordt geïnitialiseerd.
- Wanneer Appium is gedownload en geïnstalleerd, wordt er een server op onze computer geïnstalleerd die een REST API blootlegt.
- Het ontvangt een verbindings- en opdrachtverzoek van de client en voert die opdracht uit op mobiele apparaten (Android / iOS).
- Het reageert terug met HTTP-reacties. Nogmaals, om dit verzoek uit te voeren, gebruikt het de mobiele testautomatiseringsframeworks om de gebruikersinterface van de apps aan te sturen. Een raamwerk zoals: -
- Apple Instruments voor iOS (instrumenten zijn alleen beschikbaar in Xcode 3.0 of hoger met OS X v10.5 en hoger)
- Google UIAutomator voor Android API-niveau 16 of hoger
- Selendroid voor Android API-niveau 15 of lager
Vereiste om APPIUM te gebruiken
- ANDROID SDK (Studio) installeren [Link] -
- Installeer JDK (Java Development Kit) [Link]
- Installeer Eclipse [Link]
- Installeer TestNg voor Eclipse [Link]
- Installeer Selenium Server JAR [Link]
- Appium-clientbibliotheek [Link]
- APK-app-informatie op Google Play [Link]
- js (niet vereist - Telkens wanneer de Appium-server is geïnstalleerd, wordt deze standaard geleverd met "Node.exe" en NPM. Het is opgenomen in de huidige versie van Appium.)
- Installeer Appium Desktop
Installeer Appium Desktop:
Appium Studio is een open source GUI-app om Appium Server te installeren. Het wordt geleverd met alle vereisten om Appium Server te installeren en te gebruiken. Het heeft ook een inspecteur om basisinformatie over uw apps te krijgen. Het wordt geleverd met een recorder om standaardcode te maken om uw mobiele apps te automatiseren.
Stap 1) Ga naar http://appium.io/ en klik op Appium downloaden.
Stap 2) Voor Windows: selecteer het exe-bestand en download het. Het downloaden van het bestand is ongeveer 162 MB, afhankelijk van uw internetsnelheid.
Stap 3) Klik op het gedownloade exe.
Stap 4) Op een Windows-machine hoeft Appium niet te worden geïnstalleerd. Het loopt rechtstreeks van de exe. Zodra u op de exe klikt, ziet u de volgende afbeelding gedurende enkele minuten.
Voor Mac moet u de dmg installeren
Stap 5) Vervolgens ziet u het Server Start-venster. Het vult de standaardhost- en poortoptie die u kunt wijzigen. Het vermeldt ook de versie van Appium die wordt gebruikt.
Stap 6) Door op de Start Server-knop te klikken, wordt een nieuwe server gestart op de opgegeven host en poort. Serverlogboekuitvoer wordt weergegeven.
Stap 7) Klik op Nieuw sessievenster .
Stap 8) U kunt de gewenste mogelijkheden invoeren en een sessie starten.
APPIUM inspecteur
Net als bij de Selenium IDE-tool voor opnemen en afspelen, heeft Appium een 'Inspector' om op te nemen en af te spelen. Het registreert en speelt native applicatiegedrag door DOM te inspecteren en genereert de testscripts in elke gewenste taal. Momenteel is er echter geen ondersteuning voor Appium Inspector voor Microsoft Windows. In Windows start het de Appium Server, maar inspecteert het de elementen niet. De UIAutomator-viewer kan echter worden gebruikt als een optie voor het inspecteren van elementen.
Stappen om te beginnen met Appium Inspector op Mac-machine: -
Stap 1) Download en start uw Appium-server met het standaard IP-adres 0.0.0.0 en de poort 4725.
- Selecteer het bronbestand of .app-bestanden van lokaal om te testen.
- Vink het selectievakje 'App-pad' aan om de knop 'Kiezen' in te schakelen.
Stap 2) Klik nu op de knop 'Kiezen' om te bladeren en het testbestand op de lokale schijf te selecteren.
Stap 3) Start Simulator op Mac-machine.
Stap 4) Klik op de knop 'Starten' in de rechterbovenhoek, waardoor een blauw kleurpictogram wordt weergegeven. Klik nogmaals op dit blauwe kleurpictogram, het zal de Appium-inspecteur en simulator openen met een vooraf geselecteerde applicatie.
Stap 5) - Als u uw Appium Inspector start, wordt de elementhiërarchie in kolomgewijze structuur weergegeven. Een gebruiker kan ook acties toepassen met behulp van knoppen zoals Tikken, Vegen, enz.
Stap 6) Klik op de knop 'Stop' om de opname te stoppen.
Koppel Android Emulator aan Appium
Stap 1) Installeer Android SDK in uw systeem.
Ga naar Configuratiescherm >> Systeem en beveiliging >> Systeem en klik in het linkerpaneel op 'Geavanceerde systeeminstellingen'. Klik in het pop-upvenster 'Systeemeigenschappen' op het tabblad 'Geavanceerd' en klik vervolgens op de knop 'Omgevingsvariabelen'.
Stap 2) Nu, vanuit 'Omgevingsvariabelen' pop-up, 'dubbelklik op' Pad 'en stel ANDROID_HOME variabele in die verwijst naar uw SDK-map. Voeg in het pad het hele pad van de SDK-map toe.
bv -
C: \ Gebruiker \ ABC \ Desktop \ adt-bundled-windows-x86_64-20140321 \ sdk
Stap 3) Start uw Android-emulator of sluit een Android-apparaat aan op uw systeem (zorg ervoor dat de Android-foutopsporingsoptie is ingeschakeld op uw Android-apparaat. Om de foutopsporingsoptie te controleren. Ga naar Apparaatinstellingen >> Opties voor ontwikkelaars >> Controleer "Foutopsporingsoptie" ).
Stap 4) Open de opdrachtprompt en ga naar de map \ platform-tools \ van uw Android SDK (bijvoorbeeld D: \ adt-bundle-windows-x86_64-20130514 \ sdk \ platform-tools).
Stap 5) - Voer de opdracht 'adb devices' uit. U kunt uw aangesloten apparaat zien in het opdrachtpromptvenster. (Schrijf in CMD '> adb devices'- Deze opdracht geeft een lijst van de aangesloten emulatorinstanties. Bijv .: adb -s emulator-5554 install
Stap 6) - Voer de opdracht 'adb start-server' uit. Het start de ADB-server die door Appium zal worden gebruikt om opdrachten naar uw Android-apparaat te verzenden.
Stap 7) Navigeer nu naar de Appium-map in uw systeem en start Appium door op een Appium.exe-bestand te klikken.
Stap 8) Wijzig het IP-adres of poortnummer niet en klik op de knop 'Starten'. Uw Appium-console begint om 127.0.0.1:4723, zoals hieronder weergegeven.
Stap 9) Klik op 'Start' knop, Appium server begon te draaien op uw systeem.
APPIUM-testcase voor native Android-app (rekenmachine)
Stap 1) ) Download de ADT eclipse-plug-in of download ADT apart gebundeld hier
Stap 2) Open Eclipse en maak een nieuw project >> Pakket >> Klasse
Stap 3) Importeer de Selenium-bibliotheek en Testng in dat nieuwe project.
Stap 4) Maak nu een klein testprogramma voor 'Calculator.app' om twee getallen op te tellen.
pakket src_Appium;importeer java.net.MalformedURLException;importeer java.net.URL;import org.openqa.selenium.By;importeer org.openqa.selenium.WebDriver;importeer org.openqa.selenium.WebElement;// importeer org.openqa.selenium.remote.CapabilityType;importeer org.openqa.selenium.remote.DesiredCapabilities;importeer org.openqa.selenium.remote.RemoteWebDriver;importeer org.testng.annotaties. *;openbare klascalculator {WebDriver-stuurprogramma;@Voor klaspublic void setUp () gooit MalformedURLException {// Stel de gewenste mogelijkheden in en geef de Android app-activiteit en het app-pakket door aan AppiumDesiredCapabilities-mogelijkheden = nieuwe DesiredCapabilities ();capaciteiten.setCapability ("BROWSER_NAME", "Android");capaciteiten.setCapability ("VERSION", "4.4.2");capaciteiten.setCapability ("deviceName", "Emulator");capaciteiten.setCapability ("platformnaam", "Android");capaciteiten.setCapability ("appPackage", "com.android.calculator2");// Deze pakketnaam van uw app (u kunt deze ophalen via de apk info-app)capaciteiten.setCapability ("appActivity", "com.android.calculator2.Calculator"); // Dit is de Launcher-activiteit van uw app (u kunt deze downloaden via de apk info-app)// Maak een RemoteWebDriver-instantie en maak verbinding met de Appium-server// Het start de Rekenmachine-app op het Android-apparaat met behulp van de configuraties die zijn gespecificeerd in Gewenste mogelijkhedendriver = nieuwe RemoteWebDriver (nieuwe URL ("http://127.0.0.1:4723/wd/hub"), mogelijkheden);@Testpublic void testCal () gooit uitzondering {// zoek de tekst op de rekenmachine met By.name ()WebElement twee = driver.findElement (By.name ("2"));twee.klik ();WebElement plus = driver.findElement (By.name ("+"));plus.klik ();WebElement vier = driver.findElement (By.name ("4"));vier.klik ();WebElement equalTo = driver.findElement (By.name ());equalTo.click ();// zoek het invoervak van de rekenmachine met By.tagName ()WebElement-resultaten = driver.findElement (By.tagName ("EditText"));// Controleer de berekende waarde in het invoervakassert results.getText (). equals ("6"): "Werkelijke waarde is: + results.getText () + "kwam niet overeen met verwachte waarde: 6";@Na de lesopenbare leegte teardown () {// sluit de appdriver.quit ();
Appium Server en Android Emulator vanuit 'AVD Manager' en klik op Uitvoeren >> TestNG. Bovenstaand programma voert de 'Calculator.app' uit op de geselecteerde emulator en het resultaat wordt weergegeven onder de Eclipse-console met behulp van een TestNG-framework.
Beperkingen bij het gebruik van APPIUM
- Appium ondersteunt geen testen van Android-versie lager dan 4.2
- Beperkte ondersteuning voor het testen van hybride apps. bijv .: niet mogelijk om de schakelactie van de applicatie van de webapp naar native en vice versa te testen.
- Geen ondersteuning om Appium Inspector op Microsoft Windows uit te voeren.
Veelvoorkomende fouten en stappen voor probleemoplossing in Appium
Fout | Stappen voor probleemoplossing |
---|---|
1. fout: - De volgende gewenste mogelijkheden zijn vereist, maar werden niet verstrekt: apparaatnaam, platformnaam | 1. Voeg de gewenste mogelijkheden toe: apparaatnaam, platformnaam in APPIUM-script. bijv. mogelijkheden.setCapability ("deviceName", "Emulator"); capaciteiten.setCapability ("platformnaam", "Android"); |
2. fout: kon adb niet vinden. Stel de omgevingsvariabele ANDROID_HOME in met het pad van de Android SDK-hoofdmap. | 2. U moet waarschijnlijk het pad van de SDK-hoofddirectory instellen in de systeem 'Omgevingsvariabelen' in de kolom 'Pad' |
3. fout: org.openqa.selenium.SessionNotCreatedException: Er kon geen nieuwe sessie worden gemaakt. | 3. U moet een correct App-pad instellen en de Appium-server opnieuw opstarten. |
4. Hoe vind ik het DOM-element of XPath in een mobiele applicatie? | 4. Gebruik 'UIAutomatorviewer' om het DOM-element voor de Android-applicatie te vinden. |