Handledning för APPIUM Android & iOS Mobile Apps Testing

Vad är Appium?

APPIUM är ett fritt distribuerat användargränssnitt för mobilapplikationer med öppen källkod Testning ramverk. Appium tillåter inbyggd, hybrid och webbapplikationstestning och stöder automationstest på fysiska enheter såväl som en emulator eller simulator båda. Den erbjuder applikationstestning över flera plattformar, dvs. ett enda API fungerar för båda Android och iOS-plattformstestskript.

Det har NEJ beroende av mobilenhets OS. Eftersom APPIUM har ramverk eller omslag som översätter Selenium Webdriver-kommandon till UIAutomation (iOS) eller UIAutomator (Android) kommandon beroende på enhetstyp, inte någon OS-typ.

Appium stöder alla språk som har Selenium klientbibliotek som- Java, Mål-C, JavaScript med node.js, PHP, Ruby, Python, C#, och så vidare

Hur fungerar APPIUM?

  • Appium är en 'HTTP-server' skriven med hjälp av en Node.js plattform och driver iOS och en Android session med Webdriver JSON-trådprotokoll. Därför, innan du initierar Appium Server, Node.js måste vara förinstallerad på systemet.
  • När Appium laddas ner och installeras, sedan ställs en server upp på vår maskin som exponerar ett REST API.
  • Den tar emot anslutnings- och kommandobegäran från klienten och utför det kommandot på mobila enheter (Android / iOS).
  • Den svarar tillbaka med HTTP-svar. Återigen, för att utföra denna begäran använder den de mobila testautomationsramarna för att driva apparnas användargränssnitt. Ett ramverk som:-
    • Apple Instruments för iOS (Instrument är endast tillgängliga i Xcode 3.0 eller senare med OS X v10.5 och senare)
    • Google UIAutomator för Android API nivå 16 eller högre
    • Selendroid för Android API-nivå 15 eller lägre

Förutsättning för att använda APPIUM

  1. Installera ANDROID SDK (Studio)[Länk]-
  2. Installera JDK (Java utvecklingskit) [Länk]
  3. installera Eclipse [Länk]
  4. Installera TestNg för Eclipse [Länk]
  5. installera Selenium Server JAR [Länk]
  6. Appium Klientbibliotek[Länk]
  7. APK-appinformation på Google Play [Länk]
  8. js (Krävs ej – Närhelst Appium servern är installerad, kommer den som standard med "Node.exe" & NPM. Det ingår i den aktuella versionen av Appium.)
  9. installera Appium Desktop

installera Appium Desktop

Appium Studio är en GUI-app med öppen källkod att installera Appium Server. Den levereras med alla förutsättningar att installera och använda Appium Server. Den har också en inspektör för att få grundläggande information om dina appar. Den levereras med en inspelare för att skapa standardkod för att automatisera dina mobilappar.

Steg 1) Gå till http://appium.io/ och klicka på Ladda ner Appium.

installera Appium Desktop

Steg 2) För Windows, välj exe-filen och ladda ner. Filen är cirka 162MB kommer att ta tid att ladda ner baserat på din internethastighet.

installera Appium Desktop

Steg 3) Klicka på den nedladdade exe-filen.

installera Appium Desktop

Steg 4) På en Windows maskin, det finns ingen anledning att installera Appium. Det körs direkt från exe. När du klickar på exe kommer du att se följande bild i några minuter.

installera Appium Desktop

För Mac måste du installera dmg

Steg 5) Därefter kommer du att se serverstartfönstret. Den fyller i standardvärden och portalternativet som du kan ändra. Den nämner också versionen av Appium används.

installera Appium Desktop

Steg 6) När du klickar på Start Server-knappen startas en ny server på den angivna värden och porten. Serverloggutdata visas.

installera Appium Desktop

Steg 7) Klicka på Nytt sessionsfönster.

installera Appium Desktop

Steg 8) Du kan ange önskade funktioner och starta en session.

installera Appium Desktop

APPIUM Inspektör

Liknar Selenium IDE-inspelnings- och uppspelningsverktyg, Appium har en "inspektör" för att spela in och spela upp. Den registrerar och spelar upp inbyggt programbeteende genom att inspektera DOM och genererar testskripten på valfritt språk. Men för närvarande finns det inget stöd för Appium Inspektör för Microsoft Windows. I Windows, startar den Appium Server men misslyckas med att inspektera element. Däremot kan UIAutomator viewer användas som ett alternativ för att inspektera element.

Steg till att börja med Appium Inspektör på Mac-maskin:-

Steg 1) Ladda ner och starta din Appium server med standard IP-adress 0.0.0.0 och port 4725.

  1. Välj källfilen eller .app-filerna från lokal för att testa.
  2. Markera kryssrutan "Appsökväg" för att aktivera knappen "Välj".

Steg 2)Klicka nu på knappen "Välj" för att ge möjlighet att bläddra och välja testfil från den lokala enheten.

APPIUM Inspektör

Steg 3) Starta Simulator på Mac-maskin.

Steg 4) Klicka på "Starta"-knappen i det övre högra hörnet, vilket aktiverar en blå färgikon. Återigen, klicka på den här blå färgikonen, den öppnar Appium inspektör och simulator med en förvald applikation.

APPIUM Inspektör

Steg 5)– Lanserar din Appium Inspektören kommer att visa elementhierarkin i kolumnvis struktur. En användare kan också tillämpa åtgärder med knappar som tryck, svep, etc.

APPIUM Inspektör

Steg 6) Klicka på "Stopp"-knappen för att stoppa inspelningen.

Bifoga Android Emulator till Appium

Steg 1) installera Android SDK i ditt system.

Gå till Kontrollpanelen >> System och säkerhet >> System och klicka på "Avancerade systeminställningar" från den vänstra panelen. Från popup-fönstret "Systemegenskaper", klicka på fliken "Avancerat" och klicka sedan på knappen "Miljövariabler".

Bifoga Android Emulator till Appium

Steg 2) Nu, från "Miljövariabler" som dyker upp, "dubbelklicka på "Path" och ställ in ANDROID_HOME-variabeln som pekar till din SDK-katalog. I sökvägen lägg till hela SDK-mappens sökväg.

t.ex -

C:\User\ABC\Desktop\adt-bundled-windows-x86_64-20140321\sdk

Bifoga Android Emulator till Appium

Steg 3) Börja Android emulator eller någon bifoga någon Android enhet till ditt system (Se till att du har Android Felsökningsalternativ aktiverat i din Android enhet. För att kontrollera felsökningsalternativ. Gå till Enhetsinställningar >> Utvecklaralternativ >> Markera "Felsökningsalternativ").

Steg 4) Öppna kommandotolken och navigera till din Android SDK:s \platform-tools\-katalog (t.ex. D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Steg 5)– Kör kommandot 'adb devices'. Du kan se din anslutna enhet listad i kommandotolksfönstret. (I CMD skriv '>adb-enheter'- Det här kommandot listar de anslutna emulatorinstanserna. T.ex.: adb –s emulator-5554 install )

Bifoga Android Emulator till Appium

Steg 6)– Kör kommandot 'adb start-server'. Det kommer att starta ADB-server som kommer att användas av Appium för att skicka kommandon till din Android enhet.

Steg 7) Navigera nu till Appium katalogen i ditt system och starta Appium genom att klicka på en Appium.exe-fil.

Steg 8) Ändra inte IP-adressen eller portnumret och klicka på knappen "Starta". Din Appium konsolen börjar på 127.0.0.1:4723 som visas nedan.

Bifoga Android Emulator till Appium

Steg 9) Klicka på "Start"-knappen, Appium servern började köras på ditt system.

APPIUM Test Case för Native Android App (kalkylator)

Steg 1)) Ladda ner ADT eclipse plugin eller ladda ner ADT medföljande separat här.

Steg 2) Öppen Eclipse och skapa ett nytt projekt >> Paket >> Klass

Steg 3) Importera Selenium bibliotek och Testng i det nya projektet.

Steg 4) Skapa nu ett litet testprogram för 'Calculator.app' för att summera två tal.

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 och Android Emulator från 'AVD Manager' och klicka på Kör >> TestNG. Ovanstående program kommer att köra 'Calculator.app' på den valda emulatorn och resultatet visas under Eclipse konsol med en TestNG ramverk.

Begränsningar med APPIUM

  1. Appium stöder inte testning av Android Version lägre än 4.2
  2. Begränsat stöd för hybridapptestning. t.ex.: inte möjligt att testa växlingsåtgärden för applikationen från webbappen till native och vice versa.
  3. Inget stöd att köra Appium Inspektör på Microsoft Windows.

Vanliga uppkomna fel och felsökningssteg in Appium

Fel Felsökningssteg
fel:- Följande önskade funktioner krävs, men tillhandahölls inte: enhetsnamn, plattformsnamn Lägg till önskade funktioner: enhetsnamn, plattformsnamn i APPIUM-skript. t.ex.:capabilities.setCapability ("enhetsnamn","Emulator"); capabilities.setCapability ("plattformsnamn",Android”);
fel: Kunde inte hitta adb. Ställ in miljövariabeln ANDROID_HOME med Android SDK-rotkatalogens sökväg. Du måste antagligen ställa in sökvägen till SDK-rotkatalogen i systemet "Environment Variables" i kolumnen "Path"
error:org.openqa.selenium.SessionNotCreatedException: En ny session kunde inte skapas. Du måste ställa in en korrekt appsökväg och starta om Appium servern.
Hur man hittar DOM-element eller XPath i en mobilapplikation? Använd 'UIAutomatorviewer' för att hitta DOM-element för Android ansökan.