Tutorial APPIUM per Android e test delle app mobili iOS

Cosa è Appium?

APPIUM è un'interfaccia utente di un'applicazione mobile open source distribuita gratuitamente Testing struttura. Appium consente test nativi, ibridi e di applicazioni Web e supporta test di automazione su dispositivi fisici, nonché un emulatore o un simulatore. Offre test di applicazioni multipiattaforma, ovvero un'unica API funziona per entrambi Android e script di test della piattaforma iOS.

Ha NO dipendenza dal sistema operativo del dispositivo mobile. Perché APPIUM ha un framework o un wrapper che traduce Selenium Comandi Webdriver in UIAutomation (iOS) o UIAutomator (Android) comandi a seconda del tipo di dispositivo, non del tipo di sistema operativo.

Appium supporta tutte le lingue che hanno Selenium librerie client come- Java, Obiettivo-C, JavaCopione con node.js, PHP, Ruby, Python, C #, ecc.

Come funziona APPIUM?

  • Appium è un "server HTTP" scritto utilizzando un Node.js piattaforma e guida iOS e un Android sessione utilizzando il protocollo Webdrive JSON wire. Quindi, prima di inizializzare il file Appium Server, Node.js deve essere preinstallato sul sistema.
  • Quando Appium viene scaricato e installato, quindi sulla nostra macchina viene configurato un server che espone un'API REST.
  • Riceve la connessione e la richiesta di comando dal client ed esegue tale comando sui dispositivi mobili (Android /iOS).
  • Risponde con risposte HTTP. Ancora una volta, per eseguire questa richiesta, utilizza i framework di automazione dei test mobili per gestire l'interfaccia utente delle app. Un quadro come: -
    • Strumenti Apple per iOS (gli strumenti sono disponibili solo in Xcode 3.0 o versione successiva con OS X v10.5 e versioni successive)
    • Google UIAutomator per Android Livello API 16 o superiore
    • Selendroid da Android Livello API 15 o inferiore

Prerequisito per utilizzare APPIUM

  1. Installa l'SDK ANDROID (Studio)[Link]-
  2. Installa JDK (Java Kit di sviluppo) [Link]
  3. Installazione Eclipse [Link]
  4. Installa TestNg per Eclipse [Link]
  5. Installazione Selenium JAR del server [Link]
  6. Appium Libreria cliente[Link]
  7. Informazioni sull'app APK su Google Play [Link]
  8. js (non richiesto – Ogni volta Appium server è installato, per impostazione predefinita viene fornito con "Node.exe" e NPM. È incluso nella versione corrente di Appium.)
  9. Installazione Appium Desktop

Installazione Appium Desktop

Appium Studio è un'app GUI open source da installare Appium Server. Viene fornito in bundle con tutti i prerequisiti per l'installazione e l'utilizzo Appium Server. Dispone anche di un ispettore per ottenere informazioni di base sulle tue app. Viene fornito con un registratore per creare codice standard per automatizzare le tue app mobili.

Passo 1) Vai su http://appium.io/ e fare clic su Scarica Appium.

Installazione Appium Desktop

Passo 2) Da Windows, seleziona il file exe e scaricalo. Il download del file pesa circa 162 MB e richiederà del tempo in base alla velocità di Internet.

Installazione Appium Desktop

Passo 3) Fare clic sull'exe scaricato.

Installazione Appium Desktop

Passo 4) In un Windows macchina, non è necessario installarla Appium. Viene eseguito direttamente dall'exe. Una volta cliccato sull'exe, vedrai la seguente immagine per alcuni minuti.

Installazione Appium Desktop

Per Mac è necessario installare il file dmg

Passo 5) Successivamente vedrai la finestra di avvio del server. Popola l'host predefinito e l'opzione della porta che è possibile modificare. Menziona anche la versione di Appium in uso.

Installazione Appium Desktop

Passo 6) Facendo clic sul pulsante Avvia server, viene avviato un nuovo server sull'host e sulla porta specificati. Viene visualizzato l'output del registro del server.

Installazione Appium Desktop

Passo 7) Fare clic su Finestra Nuova sessione.

Installazione Appium Desktop

Passo 8) È possibile inserire le funzionalità desiderate e avviare una sessione.

Installazione Appium Desktop

Ispettore APPIUM

Simile a Selenium Strumento di registrazione e riproduzione IDE, Appium ha un "Ispettore" per registrare e riprodurre. Registra e riproduce il comportamento nativo dell'applicazione ispezionando il DOM e genera gli script di test in qualsiasi lingua desiderata. Tuttavia, al momento, non è disponibile alcun supporto per Appium Ispettore per Microsoft Windows. in Windows, avvia il Appium Server ma non riesce a ispezionare gli elementi. Tuttavia, il visualizzatore UIAutomator può essere utilizzato come opzione per l'ispezione degli elementi.

Passaggi per iniziare Appium Ispettore su macchina Mac: -

Passo 1) Scarica e avvia il tuo Appium server con l'indirizzo IP predefinito 0.0.0.0 e la porta 4725.

  1. Seleziona il file di origine o i file .app da locale a test.
  2. Seleziona la casella di controllo "Percorso app" per abilitare il pulsante "Scegli".

Passo 2)Ora, facendo clic sul pulsante "Scegli" sarà possibile sfogliare e selezionare il file di test dall'unità locale.

Ispettore APPIUM

Passo 3) Avvia il simulatore sul computer Mac.

Passo 4) Fai clic sul pulsante "Avvia" nell'angolo in alto a destra, che attiva un'icona di colore blu. Ancora una volta, fai clic su questa icona di colore blu, si aprirà il file Appium ispettore e simulatore con un'applicazione preselezionata.

Ispettore APPIUM

Passo 5)– Avvio del tuo Appium L'ispettore mostrerà la gerarchia degli elementi in una struttura a colonne. Inoltre, un utente può applicare azioni usando pulsanti come Tap, Swipe, ecc.

Ispettore APPIUM

Passo 6) Fare clic sul pulsante "Stop" per interrompere la registrazione.

allegare Android Emulatore a Appium

Passo 1) Installazione Android SDK nel tuo sistema.

Vai su Pannello di controllo >> Sistema e sicurezza >> Sistema e dal pannello di sinistra fai clic su "Impostazioni di sistema avanzate". Dal popup "Proprietà del sistema", fare clic sulla scheda "Avanzate" e quindi fare clic sul pulsante "Variabili d'ambiente".

allegare Android Emulatore a Appium

Passo 2) Ora, dal pop-up 'Variabili d'ambiente', fai doppio clic su 'Percorso' e imposta la variabile ANDROID_HOME che punta alla directory del tuo SDK. Nel percorso aggiungi l'intero percorso della cartella SDK.

per esempio -

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

allegare Android Emulatore a Appium

Passo 3) Inizia il tuo viaggio in Android emulatore o qualsiasi altro allegato Android dispositivo al tuo sistema (assicurati di avere Android Opzione di debug abilitata nel tuo Android dispositivo. Per controllare l'opzione di debug. Vai su Impostazioni dispositivo >> Opzioni sviluppatore >> Seleziona "Opzione di debug").

Passo 4) Apri il prompt dei comandi e vai al tuo Android Directory \platform-tools\ dell'SDK (ad esempio D:\adt-bundle-windows-x86_64-20130514\sdk\platform-tools).

Passo 5)– Esegui il comando 'adb devices'. Puoi vedere il tuo dispositivo connesso elencato nella finestra del prompt dei comandi. (In CMD scrivi '>adb devices'- Questo comando elencherà le istanze dell'emulatore connesse. Ad esempio: adb –s emulator-5554 install )

allegare Android Emulatore a Appium

Passo 6)– Esegui il comando 'adb start-server'. Verrà avviato il server ADB che verrà utilizzato da Appium per inviare comandi al tuo Android dispositivo.

Passo 7) Ora vai a Appium directory nel tuo sistema e avvia Appium facendo clic su un Appiumfile .exe.

Passo 8) Non modificare l'indirizzo IP o il numero di porta e fare clic sul pulsante "Avvia". Tuo Appium la console inizia a 127.0.0.1:4723 come mostrato di seguito.

allegare Android Emulatore a Appium

Passo 9) Fare clic sul pulsante "Avvia", Appium il server ha iniziato a funzionare sul tuo sistema.

Caso di prova APPIUM per nativi Android Applicazione (Calcolatrice)

Passo 1)) Scarica il plugin ADT Eclipse o scarica ADT in bundle separatamente qui

Passo 2) Apri Eclipse e Crea un nuovo progetto >> Pacchetto >> Classe

Passo 3) Importare Selenium biblioteca e Test all'interno di quel nuovo progetto.

Passo 4) Ora crea un piccolo programma di prova per "Calculator.app" per sommare due numeri.

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 e Android Emulatore da 'AVD Manager' e fare clic su Esegui >> TestNG. Il programma sopra eseguirà "Calculator.app" sull'emulatore selezionato e il risultato verrà visualizzato sotto Eclipse console utilizzando a TestNG struttura.

Limitazioni all'uso di APPIUM

  1. Appium non supporta il test di Android Versione inferiore alla 4.2
  2. Supporto limitato per i test delle app ibride. es: non è possibile testare l'azione di passaggio dell'applicazione dall'app web a quella nativa e viceversa.
  3. Nessun supporto per l'esecuzione Appium Ispettore acceso Microsoft Windows.

Errori comuni riscontrati e passaggi per la risoluzione dei problemi Appium

Errore Passaggi per la risoluzione dei problemi
errore:- Le seguenti funzionalità desiderate sono richieste, ma non sono state fornite: nome dispositivo, nome piattaforma Aggiungere le capacità desiderate: nome dispositivo, nome piattaforma nello script APPIUM. ad esempio: capabilities.setCapability ("nome dispositivo", "Emulatore"); capabilities.setCapability ("nome piattaforma", "Android");
errore: Impossibile trovare adb. Impostare la variabile di ambiente ANDROID_HOME con Android Percorso della directory principale dell'SDK. Probabilmente dovrai impostare il percorso della directory root dell'SDK nelle "Variabili d'ambiente" del sistema nella colonna "Percorso"
error:org.openqa.selenium.SessionNotCreatedException: non è stato possibile creare una nuova sessione. È necessario impostare un percorso app corretto e riavviare il Appium server.
Come trovare l'elemento DOM o XPath in un'applicazione mobile? Utilizza "UIAutomatorviewer" per trovare l'elemento DOM Android applicazione.