APPIUM-zelfstudie voor Android & iOS mobiele apps testen
Wat is Appium?
APPIUM is een gratis verspreide open source mobiele applicatie-UI Testen kader. Appium maakt het testen van native, hybride en webapplicaties mogelijk en ondersteunt automatiseringstests op fysieke apparaten, evenals een emulator of simulator. Het biedt platformonafhankelijke applicatietests, dat wil zeggen dat één API voor beide werkt Android en iOS-platformtestscripts.
Het is NEE afhankelijkheid van het besturingssysteem van het mobiele apparaat. Omdat APPIUM een framework of wrapper heeft die vertaalt Selenium Webdriver-opdrachten in UIAutomation (iOS) of UIAutomator (Android) -opdrachten afhankelijk van het apparaattype, niet van welk besturingssysteem dan ook.
Appium ondersteunt alle talen die dat hebben Selenium klantbibliotheken zoals- Java, Doelstelling C, JavaScript met node.js, PHP, Ruby, Python, C # enz.
Hoe werkt APPIUM?
- Appium is een 'HTTP-server' geschreven met behulp van een Node.js platform en drives iOS en een Android sessie met behulp van het Webdriver JSON-draadprotocol. Daarom moet u vóór het initialiseren van de Appium Server, Node.js moet vooraf op het systeem zijn geïnstalleerd.
- . Appium wordt gedownload en geïnstalleerd, dan wordt er een server op onze machine geïnstalleerd die een REST API beschikbaar stelt.
- Het ontvangt een verbindings- en opdrachtverzoek van de client en voert dat commando uit op mobiele apparaten (Android / iOS).
- Het reageert terug met HTTP-antwoorden. Om dit verzoek uit te voeren, wordt opnieuw gebruik gemaakt van 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 betere Android API-niveau 15 of lager
Voorwaarde om APPIUM te gebruiken
- Installeer ANDROID SDK (Studio)[Link]-
- JDK installeren (Java Ontwikkelingskit) [Link]
- Install Eclipse [Link]
- Installeer TestNg voor Eclipse [Link]
- Install Selenium Server-JAR [Link]
- Appium Klantenbibliotheek[Link]
- APK-app-info op Google Play [Link]
- js (niet vereist – wanneer dan ook Appium server is geïnstalleerd, wordt deze standaard geleverd met “Node.exe” en NPM. Het is opgenomen in de huidige versie van Appium.)
- Install Appium Desktop
Install Appium Desktop
Appium Studio is een open source GUI-app om te installeren Appium Server. Het wordt geleverd met alle vereisten voor installatie en gebruik Appium Server. Het heeft ook een Inspector 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 Downloaden Appium.
Stap 2) Voor Windows, selecteer het exe-bestand en download. Het bestand is ongeveer 162 MB groot en het downloaden ervan duurt afhankelijk van uw internetsnelheid.
Stap 3) Klik op de gedownloade exe.
Stap 4) Op Windows machine, installeren is niet nodig Appium. Het draait direct vanaf de exe. Zodra u op de exe klikt, ziet u de volgende afbeelding gedurende enkele minuten.
Voor Mac moet u het dmg
Stap 5) Vervolgens ziet u het serverstartvenster. Het vult de standaard host- en poortoptie in die u kunt wijzigen. Er wordt ook de versie van vermeld Appium gebruikt worden.
Stap 6) Door op de Start Server-knop te klikken, wordt een nieuwe server gestart op de opgegeven host en poort. De uitvoer van het serverlogboek wordt weergegeven.
Stap 7) Klik op Nieuw sessievenster.
Stap 8) U kunt de gewenste mogelijkheden invoeren en een sessie starten.
APPIUM-inspecteur
Soortgelijke Selenium IDE opname- en afspeeltool, Appium heeft een 'Inspector' om op te nemen en af te spelen. Het registreert en speelt native applicatiegedrag af door DOM te inspecteren en genereert de testscripts in elke gewenste taal. Momenteel is daar echter geen steun voor Appium Inspecteur voor Microsoft Windows. in Windows, het lanceert de Appium Server maar slaagt er niet in om elementen te inspecteren. De UIAutomator-viewer kan echter worden gebruikt als optie voor het inspecteren van elementen.
Stappen om mee te beginnen Appium Inspector op Mac-machine: -
Stap 1) Download en start uw Appium server met het standaard IP-adres 0.0.0.0 en poort 4725.
- Selecteer het bronbestand of de .app-bestanden van lokaal om te testen.
- Vink het vakje 'App-pad' aan om de knop 'Kiezen' in te schakelen.
Stap 2)Als u nu op de knop 'Kiezen' klikt, krijgt u de mogelijkheid om door het testbestand van het lokale station te bladeren en het te selecteren.
Stap 3) Start Simulator op een Mac-machine.
Stap 4) Klik op de knop 'Launch' in de rechterbovenhoek, waardoor een blauw kleurpictogram verschijnt. Klik nogmaals op dit blauwe kleurpictogram, het opent het Appium Inspector en Simulator met een vooraf geselecteerde applicatie.
Stap 5)– Het lanceren van uw Appium Inspector toont de elementhiërarchie in kolomgewijze structuur. Ook kan een gebruiker acties toepassen met behulp van knoppen zoals Tap, Swipe, etc.
Stap 6) Klik op de knop 'Stop' om de opname te stoppen.
hechten Android Emulator voor Appium
Stap 1) Install Android SDK in uw systeem.
Ga naar Configuratiescherm >> Systeem en beveiliging >> Systeem en klik in het linkerpaneel op 'Geavanceerde systeeminstellingen'. Vanuit het pop-upvenster 'Systeemeigenschappen' klikt u op het tabblad 'Geavanceerd' en vervolgens op de knop 'Omgevingsvariabelen'.
Stap 2) Nu, vanuit 'Omgevingsvariabelen' pop-up, 'dubbelklik op 'Pad' en stel de ANDROID_HOME variabele in die naar uw SDK directory wijst. Voeg in het pad het hele SDK map pad toe.
bijvoorbeeld –
C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk
Stap 3) Start jouw Android emulator of een andere bijlage Android apparaat op uw systeem (zorg ervoor dat u Android Foutopsporingsoptie ingeschakeld in uw Android apparaat. Om de foutopsporingsoptie te controleren. Ga naar Apparaatinstellingen >> Opties voor ontwikkelaars >> Vink 'Foutopsporingsoptie' aan.
Stap 4) Open de opdrachtprompt en navigeer naar uw Android De map \platform-tools\ van de SDK (bijv. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).
Stap 5)– Voer de opdracht 'adb devices' uit. U kunt uw verbonden apparaat zien in het opdrachtpromptvenster. (Schrijf in CMD '>adb devices' - Met deze opdracht worden de aangesloten emulatorinstanties weergegeven. Bijv.: adb –s emulator-5554 install )
Stap 6)– Voer de opdracht 'adb start-server' uit. Het zal de ADB-server starten die zal worden gebruikt door Appium om opdrachten naar uw te verzenden Android stuurt.
Stap 7) Ga nu naar Appium map in uw systeem en start Appium door op een te klikken Appium.exe-bestand.
Stap 8) Wijzig het IP-adres of poortnummer niet en klik op de knop 'Launch'. Jouw Appium console begint op 127.0.0.1:4723, zoals hieronder weergegeven.
Stap 9) Klik op de knop 'Start', Appium server op uw systeem is gestart.
APPIUM-testcase voor native Android App(Rekenmachine)
Stap 1)) Download de ADT Eclipse-plug-in of download ADT apart gebundeld hier
Stap 2) Openen Eclipse en maak een nieuw project >> Pakket >> Klasse
Stap 3) import Selenium bibliotheek en Testen binnen dat nieuwe project.
Stap 4) Maak nu een klein testprogramma voor 'Calculator.app' om twee getallen op te tellen.
package src_Appium; import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; //import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.*; public class Calculator { WebDriver driver; @BeforeClass public void setUp() throws MalformedURLException{ //Set up desired capabilities and pass the Android app-activity and app-package to Appium DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("BROWSER_NAME", "Android"); capabilities.setCapability("VERSION", "4.4.2"); capabilities.setCapability("deviceName","Emulator"); capabilities.setCapability("platformName","Android"); capabilities.setCapability("appPackage", "com.android.calculator2"); // This package name of your app (you can get it from apk info app) capabilities.setCapability("appActivity","com.android.calculator2.Calculator"); // This is Launcher activity of your app (you can get it from apk info app) //Create RemoteWebDriver instance and connect to the Appium server //It will launch the Calculator App in Android Device using the configurations specified in Desired Capabilities driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); } @Test public void testCal() throws Exception { //locate the Text on the calculator by using By.name() WebElement two=driver.findElement(By.name("2")); two.click(); WebElement plus=driver.findElement(By.name("+")); plus.click(); WebElement four=driver.findElement(By.name("4")); four.click(); WebElement equalTo=driver.findElement(By.name("=")); equalTo.click(); //locate the edit box of the calculator by using By.tagName() WebElement results=driver.findElement(By.tagName("EditText")); //Check the calculated value on the edit box assert results.getText().equals("6"):"Actual value is : "+results.getText()+" did not match with expected value: 6"; } @AfterClass public void teardown(){ //close the app driver.quit(); } }
Appium Server en Android Emulator vanuit 'AVD Manager' en klik op Uitvoeren >> TestNG. Bovenstaand programma zal de 'Calculator.app' op de geselecteerde emulator uitvoeren en het resultaat zal onder worden weergegeven Eclipse console met behulp van een TestNG kader.
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 omgekeerd te testen.
- Geen ondersteuning om te rennen Appium Inspecteur aan Microsoft Windows.
Vaak voorkomende fouten en stappen voor probleemoplossing Appium
Fout | Stappen voor probleemoplossing |
---|---|
fout:- De volgende gewenste mogelijkheden zijn vereist, maar werden niet geleverd: apparaatnaam, platformnaam | Voeg de gewenste mogelijkheden toe: apparaatnaam, platformnaam in het APPIUM-script. Bijvoorbeeld: capabilities.setCapability (“deviceName”, “Emulator”); capabilities.setCapability (“platformName”, “Android"); |
fout: Kon adb niet vinden. Stel de ANDROID_HOME-omgevingsvariabele in met de Android Pad naar de SDK-hoofdmap. | Waarschijnlijk moet u het SDK-hoofdmappad instellen in systeem ‘Omgevingsvariabelen’ in de kolom ‘Pad’ |
error:org.openqa.selenium.SessionNotCreatedException: Er kon geen nieuwe sessie worden aangemaakt. | U moet een correct app-pad instellen en de app opnieuw opstarten Appium server. |
Hoe DOM-element te vinden of XPath in een mobiele applicatie? | Gebruik 'UIAutomatorviewer' om het DOM-element te vinden Android toepassing. |