Selendroid Tutorial per principianti con esempio
Hai mai sviluppato un Android applicazione e pubblicarla su Google Giocare? Cosa farai se ricevi una recensione utente come questa?
Quando pubblichi un'app su Google Gioca, deve essere ben testato per evitare potenziali bug. Ci sono un sacco di scenari di test che dovrebbero essere eseguiti prima di pubblicare un'app. Per salvare il Collaudo sforzo, รจ necessario uno strumento di test. Uno dei migliori strumenti di test per Android l'app รจ Selendroid.
Cosa รจ Selendroid?
Selendroid รจ un framework di automazione dei test per piรน tipi di applicazioni mobili: nativo and ibrido Android app e mobile web.
Puoi scrivere i test usando il file Selenium 2 API client. Perchรฉ Selendroid ancora riutilizzi dell'esistente Selenium infrastrutture per il web
Selendroid รจ un potente strumento di test. Puรฒ essere utilizzato su emulatori e reale dispositivi
Perchรฉ abbiamo bisogno Selendroid?
Selendroid รจ un ottimo strumento di test. Ma potresti ancora dubitare della sua utilitร .
Questa sezione introdurrร le caratteristiche importanti di Selendroid per rispondere alla domanda perchรฉ ne hai bisogno Selendroid.
- ร possibile testare l'applicazione in prova utilizzando Selendroid senza alcuna modifica dell'app. Hai solo bisogno del file binario (APK) installato sul computer. Per installare il file binario sul dispositivo, l'app di prova e l'app mobile devono essere firmate con la stessa chiave di firma
- Selendroid l'app di test puรฒ interagire con piรน dispositivi o simulatori contemporaneamente. ร un grande vantaggio di Selendroid. Quindi puoi testare la tua app con vari Android dispositivi per verificarne la compatibilitร .
- Selendroid puรฒ simulare le azioni dell'utente umano su un'app, come toccare, scorrere, trascinare e rilasciare sui dispositivi
- ร possibile modificare i dispositivi hardware (collegandoli e scollegandoli) durante il test senza riavviare o interrompere il processo.ping il test. Selendroid riconosce automaticamente i nuovi dispositivi
- Corrispondente al Android Versione API aggiornata, Selendroid supporta anche il nuovo Android API (dall'API 10 all'API 19)
- Selendroid ha anche alcuni strumenti di ispezione integrati per aiutarti a identificare l'elemento dell'interfaccia utente di un'applicazione in fase di test. Ad esempio il pulsante ID, il campo di testo, la visualizzazione del testo...
Selendroid Architectura
Selendroid si basa sulla Android quadro strumentale. Selendroid i test sono scritti in base a Selenium API client driver Web, quindi supporta la piena integrazione con la versione corrente Selenium quadri.
La figura seguente descrive l'architettura di Selendroid
Selendroid contiene 4 componenti principali:
- Client Web Driver โ Il Java libreria client basata su Selenium. Questa libreria dovrebbe essere installata sul computer (che viene utilizzato per sviluppare i casi di test)
- Selendroid-Server: il server che viene eseguito nell'app in fase di test Android dispositivo o simulatore. Questi sono i componenti principali di a Selendroid architettura
- Android Driver-App: integrata Android driver, app Web View per testare il Web mobile.
- Selendroid-Standalone: โโquesto componente viene utilizzato per installare Selendroid server e l'applicazione in prova (AUT)
Iniziare con Selendroid
Conosci giร l'importanza del Selendroid. Ora sporchiamoci le mani Selendroid.
Ci sono 3 passaggi da eseguire prima del primo test Selendroid
Impostazione a Selendroid Industria XNUMX
Selendroid puรฒ funzionare su Window, Linux e sistema operativo Mac. In questo tutorial, configureremo Selendroid nel sistema operativo Windows.
Prima di utilizzare Selendroid, devi prima installare il seguente pacchetto
- Java SDK (minimo 1.6)
Devi accettare il contratto di licenza e scaricare il programma di installazione Java (scegli la base x64 o x86 in base al tuo sistema operativo)
Scaricare e installare il Java SDK come un normale software
- Ultima versione di Android SDK
- Il tuo computer deve averne almeno uno Android Dispositivo virtuale (AVD) o reale Android dispositivo collegato al PC.
- Selendroid Autonomo con dipendenze, Selendroid .e Selenium .
- Eclipse Software
- Configura JAVA_HOME e ANDROID_HOME
Passo 1) In Finestra, fare clic con il pulsante destro del mouse su Computer -> Proprietร a Confronto -> Impostazioni di sistema avanzate
Passo 2) Visualizzazione della finestra Proprietร del sistema, selezionare la scheda Avanzate -> variabili ambientali
Passo 3) Viene visualizzata la finestra Ambiente, fare clic su Nuovo -> Inserisci una variabile ANDROID_HOME come segue
Il valore della variabile รจ il percorso di Android-sdks che hai giร installato.
Trova la variabile di sistema Path -> Modifica -> Aggiungere la seguente riga dopo la riga corrente
Simile a ANDROID_HOME, aggiungi la nuova variabile JAVA_HOME con il valore come di seguito
Il valore รจ il percorso verso il tuo Java Installazione JDK
Passaggio 4) Riavvia il PC -> Fatto
Come lanciare Selendroid
Passaggio 1) Ottenere un'applicazione in fase di test
Puoi usare esistente Selendroid testare l'app per verificare come Selendroid lavori (vetro all'applicazione campione in prova)
Una volta completato il download, copia questo APK e quanto sopra Selendroid Barattolo autonomo file in una cartella con il nome "Guru99 "
Passaggio 2) Avviare il Selendroid
Apri il terminale Windows e accedere alla cartella Guru99 creati nella fase 1.
Esegui il seguente comando
L'output verrร visualizzato come segue
Dopo aver eseguito questo comando, Selendroid-si avvia il server HTTP autonomo! Il numero di porta predefinito di questo server รจ 4444. Tutti i dispositivi hardware, nonchรฉ Android Il dispositivo virtuale verrร scansionato e riconosciuto automaticamente. Selendroid identificherร il Android versione di destinazione e dimensione dello schermo del dispositivo.
Per controllare il file Android versione di destinazione e informazioni sul dispositivo, รจ possibile avviare quanto segue URL su un browser: http://localhost:4444/wd/hub/status.
Selendroid comando di base
Questa sezione presenta alcune nozioni di base Selendroid-Riga di comando autonoma. Puoi usarli per impostare il file Selendroid ambiente di test
- Impostazione del porto di Selendroid
La porta predefinita di Selendroid รจ 4444. Ma puoi passare ad un'altra porta aggiungendo un parametro al comando da avviare Selendroid
Parametro: -port [numero di porta]
Per esempio:
Nel comando precedente, 5555 รจ la nuova porta.
Di conseguenza, URL per controllare il Android la versione di destinazione viene modificata in: http://localhost:5555/wd/hub/status
- Specificare la posizione dell'applicazione in prova (file APK binario). Selendroid spesso richiedeva il percorso assoluto per questo file
Parametro: -app [percorso del file]
Per esempio:
Nel comando sopra, il Selendroid trova automaticamente il file binario in base a "C:\GuruEseguire il comando "99App.apk" per ottenere le informazioni sull'applicazione in fase di test.
Controlla il URL
http://localhost:4444/wd/hub/status, vedrai queste informazioni - Cambia la porta il Selendroid utilizza per comunicare con il server della strumentazione. Selendroid utilizza la porta 8080 come predefinita
Parametro: -selendroidServerPort [numero di porta]
Esempio
La porta ora รจ cambiata in 9000
- Modificare il timeout per avviare gli emulatori. L'unitร รจ millisecondi.
Parametro: -timeoutEmulatorStart
Per impostazione predefinita, Selendroid attenderร 300,000 millisecondi fino all'avvio dell'emulatore. ร possibile passare al nuovo timeout (200,000 ms) tramite comando
Trascorso questo tempo il nostro scade, se l'emulatore non puรฒ avviarsi, il file Selendroid genererร l'errore di eccezione (si รจ verificato un errore durante la ricerca di dispositivi/emulatori.), quindi interromperร l'esecuzione
- Quando avvii il file Selendroid comando sul terminale, vedrai un log stampato sullo schermo. Puoi cambiare il tipo di log che vedi aggiungendo il seguente parametro
Parametro: -logLevel [tipo di registro]
I valori del livello di registro sono ERRORE, AVVISO, INFO, DEBUG e VERBOSE. Impostazione predefinita: ERRORE.
Ad esempio, imposta Selendroid per stampare solo il registro ATTENZIONE, รจ possibile utilizzare questo comando
Migliori Selendroid stampare solo il registro AVVERTENZE
Inizia il tuo primo test con Selendroid
Questa sezione รจ una guida passo passo per creare il tuo primo script di test utilizzando Selendroid
Supponiamo di avere un Android nome dell'applicazione in fase di test Guru99App. L'applicazione include un campo di testo e un pulsante denominato "Mostra testo".
Dobbiamo eseguire quanto segue Test Case utilizzando Selendroid
| Test di Casi | Condizioni dell'oggetto | Uscita prevista |
|---|---|---|
|
Il binario dell'applicazione in prova รจ disponibile
Un dispositivo รจ collegato al PC |
Il testo "Testo Mostra qui" viene modificato nel testo
quale utente inserisce in un campo di testo |
Passo 1) Creare un Java progetto in Eclipse
Passo 2) Aggiungere selenio e Selendroid file jar negli ambienti eclipse
Fare clic con GuruProgetto 99Test -> Costruisci percorso -> Aggiungi esterno Archives
Passare alla cartella in cui sono archiviati i file jar
Dovrebbero essere aggiunti 3 file jar
- selendroid-client-0.10.0.jar : Selendroid libreria client Java
- selendroid-standalone-0.11.0-con-dipendenze : Selendroid libreria server autonoma
- selenio-java-2.40.0.jar : Selenium Libreria dei driver Web
Seleziona tutto -> Scegli Apri per aggiungere un file jar al progetto
Passo 3) dopo aver aggiunto la libreria di cui sopra, tali librerie verranno aggiunte alle librerie di riferimento del progetto di test. Un tester puรฒ utilizzare le API di tali librerie per sviluppare il programma di test
Crea il pacchetto โcom.guru.testโ e aggiungi il file java โGuru99Test.javaโ come di seguito
Right Click Guru99 Prova -> New -> CONFEZIONE
Digita com.guru.test nel campo Nome su Nuovo Java Finestra di dialogo del pacchetto ร Fine
Migliori Eclipse creerร elenchi di cartelle e sottocartelle come questa nella struttura del codice sorgente
Passo 4) Installazione TestNG per Eclipse
In Eclipse, Aiuto -> Installa nuovo software, nella finestra di dialogo Installa, fai clic su Aggiungi e inserisci quanto segue
- Nome e Cognome: TestNG
- Sede: https://github.com/selendroid/selendroid
Premere OK -> Avanti per installare il TestNG
Passo 5) copiare il Guru99App.apk nella cartella di Test App
Passo 6) Ottieni l'ID di un'applicazione in fase di test.
Supponiamo di avere un file APK chiamato Guru99App.apk. Segui i passaggi descritti nella sezione precedente ed esegui il comando nel terminale.
Aprire il seguente link in un browser: http://localhost:4444/wd/hub/status.
Vengono visualizzate le informazioni del dispositivo, copiare il valore appId โcom.guru99app:1.0โ
Passo 7) Aprire il file Guru99Test.java (nel codice di esempio) e modificare come segue
Per creare una nuova sessione di test con Selendroid, devi fornire l'ID dell'app nel formato: com.guru99app:1.0. Questo ID app puรฒ essere identificato nel passaggio 6. Se non imposti l'ID app corrispondente a Android dispositivo, la sessione di test genererร un errore e non verrร avviata.
Dopo aver inizializzato il dispositivo trovato, Selendroid crea un server selendroid personalizzato e installa il Selendroid server su di esso
Selendroid installa anche l'applicazione in prova e avvia il server selendroid sul dispositivo
Dopo aver inizializzato correttamente la sessione di test, viene avviata l'esecuzione del comando test su un dispositivo. (Come inserire testo, premere il pulsante...). Se il test aggiunge la sessione di test, l'emulatore si fermerร automaticamente
Passo 8) Inizia la nuova sessione di test
Avviare il Selendroid server utilizzando il seguente comando sul terminale come al punto 6
Dopo il Selendroid Server avviato, aprire il progetto di test di esempio Guru99test su Eclipse, imposta un punto di interruzione alla riga 77 del file Guru99Test.java facendo doppio clic sulla riga 77 -> Verrร visualizzato un punto come di seguito
Avvia una sessione di prova facendo clic con il pulsante destro del mouse GuruProgetto 99Test -> Debug come -> Test Test.
Inizierร una sessione di test come di seguito
Passo 9) Ottieni l'ID dell'elemento GUI di un'applicazione in fase di test
Dopo che la sessione di test รจ iniziata correttamente, apri il browser e vai a URL http://localhost:4444/inspector
Vedrai che l'applicazione in prova viene avviata come di seguito
Passa il mouse su ciascun elemento dell'interfaccia utente di AUT (pulsante, campo di testo, etichetta di testo), l'ID di ciascun elemento verrร evidenziato nel riquadro di destra
Dopo questo passaggio, puoi ottenere l'ID di ciascun elemento dell'interfaccia utente sopra
- Pulsante Mostra ID testo: "btnMostra"
- ID campo di testo: "edtText"
- ID testo etichetta: "txtView"
Tali ID verranno utilizzati nel passaggio successivo
Passo 10) Inserisci il programma di test come di seguito
Un programma di test utilizzando Selendroid comprende 3 sezioni
Prova di installazione:
Di seguito รจ riportato il codice per il test di configurazione, che imposterร la condizione per una sessione di test. In caso di errore, il Selendroid genererร l'eccezione e l'app di test si interromperร .
Il codice include i commenti per spiegare ciascuna affermazione.
package com.guru.test;
import io.selendroid.SelendroidCapabilities;
import io.selendroid.SelendroidConfiguration;
import io.selendroid.SelendroidDriver;
import io.selendroid.SelendroidLauncher;
import io.selendroid.device.DeviceTargetPlatform;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.Assert;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
/**
* @author Guru99 Test App using Selendroid
* Application under test: Guru99App
*
*/
public
class Guru99Test {
//Declare web driver variable
private WebDriver driver;
/**
* Setup the environment before testing
* @throws Exception
*/
@BeforeSuite
public
void setUp() throws Exception {
//Start selendroid-standalone during test
SelendroidConfiguration config = new SelendroidConfiguration();
// Add the selendroid-test-app to the standalone server
config.addSupportedApp("Guru99App.apk");
//start the standalone server
SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
// Create the selendroid capabilities
SelendroidCapabilities capa = new SelendroidCapabilities();
// Specify to use selendroid's test app
capa.setAut("com.guru99app:1.0");
// Specify to use the Android device API 19
capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
// Don't request simulator, use real device
capa.setEmulator(false);
//capa.wait(10000000);
// Create instance of Selendroid Driver
driver = new SelendroidDriver(capa);
}
Esegui test
Di seguito รจ riportato il codice per eseguire un test. Il codice include i commenti
Ecco di nuovo i passaggi del test
- Inserisci il testo โCiao Guru".
- Fare clic su Mostra pulsante testo
- Aspetta un attimo
- Verifica che l'app visualizzi il testo inserito dall'utente in un campo di testo (es. Visualizza il testo "Ciao Guru")
/**
* Start execute the test case
* 01. Enter the text "Selendroid" to the textfield
* 02. Press OK button
* @throws Exception
*/
@Test
public
void selendroidTest() throws Exception {
// Print the log
System.out.print("Start executing test");
// Find the input text field on screen
// The id of this text field was get from step 9
WebElement inputField = driver.findElement(By.id("edtText"));
// Verify that the text field enabled so user can enter text
Assert.assertEquals("true", inputField.getAttribute("enabled"));
// Enter a text to text field
inputField.sendKeys("Hello Guru");
// click Show Text button
// The id of this button was get from step 9
WebElement button = driver.findElement(By.id("btnShow"));
button.click();
// Delay time to take effect
Thread.sleep(5000);
//Find the label "Text Show Here" on screen
// The id of this label was get from step 9
WebElement txtView = driver.findElement(By.id("txtView"));
//Get the text display on screen
String expected = txtView.getText();
// Verify that the text which user enter on text field is same as text display on screen
Assert.assertEquals(expected, inputField.getText());
}
Termina la prova
Il seguente codice completerร il test tramite stopping , il Selendroid conducente.
/**
* Stop the Selendroid driver
*
*/
@AfterSuite
public
void tearDown() {
driver.quit();
}
ร possibile visualizzare i dettagli nel codice di esempio incluso in questo articolo.
Passo 10) Connettere Android dispositivo al PC tramite cavo USB. Punti da osservare โ
- Assicurati che sul dispositivo non sia configurato il blocco schermo.
- I dispositivi devono essere collegati tramite USB al computer su cui รจ in esecuzione il componente selendroid-standalone.
- Il dispositivo dovrebbe essere installato almeno Android Target Versione API10
Passo 11) Esegui l'app di prova: fai clic con il pulsante destro del mouse Guru99test -> Correre come -> TestNG test
Passo 10) Lo script inizia l'esecuzione come segue
Passo 12) Al termine dell'esecuzione del test, TestNG genera automaticamente il report di prova come segue
Ottimo lavoro, ora hai finito il test.
Sintesi
- Selendroid รจ uno strumento molto potente per i test Android l'app nativa, l'app ibrida e l'app Web.
- Puรฒ essere utilizzato su dispositivi reali e sul simulatore.
- Consente inoltre di eseguire test in parallelo eseguendo un test su piรน dispositivi.
- L'intera Selendroid suite รจ composta da quattro componenti:
- Cliente del driver Web,
- Selendroid-Server,
- Android App driver
- Selendroid-indipendente, autonomo
- Per utilizzare Selendroid a portata di mouse Java JDK, Android SDK e Eclipse installato.


































