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
- Installa l'SDK ANDROID (Studio)[Link]-
- Installa JDK (Java Kit di sviluppo) [Link]
- Installazione Eclipse [Link]
- Installa TestNg per Eclipse [Link]
- Installazione Selenium JAR del server [Link]
- Appium Libreria cliente[Link]
- Informazioni sull'app APK su Google Play [Link]
- js (non richiesto – Ogni volta Appium server è installato, per impostazione predefinita viene fornito con "Node.exe" e NPM. È incluso nella versione corrente di Appium.)
- 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.
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.
Passo 3) Fare clic sull'exe scaricato.
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.
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.
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.
Passo 7) Fare clic su Finestra Nuova sessione.
Passo 8) È possibile inserire le funzionalità desiderate e avviare una sessione.
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.
- Seleziona il file di origine o i file .app da locale a test.
- 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.
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.
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.
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".
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
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 )
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.
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
- Appium non supporta il test di Android Versione inferiore alla 4.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.
- 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. |