getting started with robotium most popular android application ui testing tool
Robotium è il framework Android Test Automation per testare applicazioni Android native e ibride . Fornisce una semplice API per scrivere script di automazione dell'interfaccia utente. Tuttavia, il numero di strumenti disponibili per testare le applicazioni Android, Robotium è il più comunemente utilizzato Strumento di test Android .
Robotium può essere utilizzato per scrivere casi di test di accettazione funzionale, di sistema e dell'utente. I casi di test Robotium possono essere eseguiti nell'emulatore Android e nel dispositivo reale Android.
Ulteriore lettura => Guida per principianti al test delle applicazioni mobili
Cosa imparerai:
Guida introduttiva a Robotium
Vantaggi di Robotium
- Facile da scrivere
- API semplice (tutti i metodi sono disponibili solo in Solo Class)
- Ritardi e tempi automatici
- Non è necessario scrivere codice durante la navigazione da un'attività a un'altra.
- Testare le app native di Android e l'app ibrida.
- In grado di gestire più attività Android.
- Meno tempo per scrivere test poiché l'API è semplice.
- I casi di test sono robusti, grazie all'associazione di runtime ai componenti dell'interfaccia utente
- Esecuzione rapida del test case.
- Si integra facilmente con Maven e ANT.
Prerequisiti
# 1) Scarica e installa JAVA
- Scarica Java da questa pagina .
- Aggiungi le librerie java al PERCORSO e imposta JAVA_HOME alla radice della directory di installazione di java nel tuo ambiente.
# 2) Scarica il pacchetto ADT
- Scarica il bundle ADT da questa pagina .
- Estrai lo zip del pacchetto ADT e mettilo in una cartella.
- Imposta ANDROID_HOME alla radice della cartella del bundle ADT nel tuo ambiente.
Creazione di un progetto Robotium
Solo pochi passaggi necessari per creare un progetto,
Passo 1) Apri Eclipse, contiene la tua applicazione Android da testare.
Passo 2) Fare clic con il pulsante destro del mouse sul progetto Android -> Strumenti Android e fare clic sul nuovo progetto di prova.
Passaggio 3) Assegna un nome al progetto Test e fai clic sul pulsante Avanti.
Passaggio 4) Selezionare l'applicazione sotto test come destinazione e fare clic sul pulsante Fine.
Passaggio 5) Il progetto di test verrà creato nell'area di lavoro di eclipse.
Passaggio # 6) Scarica Robotium solo jar da Qui .
Passaggio 7) Fare clic con il pulsante destro del mouse sul progetto Test nell'area di lavoro Andare al percorso di compilazione e fare clic su Configura percorso di compilazione.
Passaggio 8) Passare alla scheda librerie, fare clic sull'opzione 'Aggiungi vasi esterni' e sfogliare il file jar Robotium scaricato e aggiungerlo alle librerie e fare clic su 'OK'.
Passaggio # 9) Il progetto Robotium Test è stato creato con successo. Ora possiamo creare classi nel progetto e iniziare a scrivere i casi di test.
Creazione della classe Robotium
# 1) Fare clic con il pulsante destro del mouse sul pacchetto nella directory src nel progetto Test e creare una nuova classe.
#Due) Importare la classe Main Activity dal progetto di test Robotium.
Sintassi :
import com.sasi.attendanceproject.Home;
# 3) La nuova classe erediterà le proprietà dalla classe ActivityInstrumentationTestCase2
public class AttendanceTest extends ActivityInstrumentationTestCase2
( Nota: Ecco, Home è l'attività da testare nell'applicazione Android)
# 4) Crea istanza per la classe Solo come di seguito
private Solo solo;
# 5) Crea un costruttore per la classe Test, come di seguito
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) Crea metodi setUp e tearDown, come di seguito
impostare metodo viene utilizzato per avviare la strumentazione
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
Demolire viene utilizzato per chiudere l'attività dopo che il test è stato completato.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
Alcuni metodi Robotium
# 1) assertCurrentActivity (testo, attività)
Questo metodo verifica se l'attività corrente è l'attività passata come parametro di invio.
Sintassi
solo.assertCurrentActivity('Current Activity', Home.class);
#Due) clickOnButton (testo)
Questo metodo farà clic sul pulsante con il testo specificato.
Sintassi:
solo.clickOnButton('ADMIN');
# 3) clickOnButton (int)
Questo metodo farà clic sul pulsante con l'indice specificato.
Sintassi:
solo.clickOnButton(2);
# 4) waitForText (testo)
Questo metodo aspetterà fino a quando il testo appare sull'attività.
Sintassi:
solo.waitForText('Creating New Password');
# 5) enterText (int, text)
Questo metodo digiterà il testo passato come secondo parametro alla casella di modifica dell'indice specificata.
Sintassi:
solo.enterText(0,'test');
# 6) clickOnCheckbox (int)
Questo metodo farà clic sulla casella di controllo con l'indice fornito.
Sintassi:
solo.clickOnCheckBox(0);
# 7 ) clickOnRadioButton (int)
Questo metodo farà clic sul pulsante di opzione con l'indice specificato.
Sintassi:
solo.clickOnRadioButton(1);
# 8) clickOnImage (int)
Questo metodo farà clic sull'immagine con l'indice fornito.
Sintassi:
solo.clickOnImage(1);
# 9) clearEditText (int)
Questo metodo cancellerà il testo nella casella di modifica con l'indice specificato.
Sintassi:
solo.clearEditText(0);
# 10) waitForText (testo)
Questo metodo attenderà fino a quando il testo specificato non verrà visualizzato nell'attività.
Sintassi:
solo.waitForText(“Robotium”);
Programma di esempio
Individuazione di elementi nell'applicazione Android
Passo 1) Apri Eclipse contenente l'applicazione Android da testare.
Passo 2) Espandi il progetto, vai a res? Cartella Layout e fare doppio clic sul file XML dell'attività che si desidera automatizzare. Aprirà l'attività progettata nell'editor di eclissi.
Passaggio 3) Individuazione dell'elemento pulsante
- Individuazione dell'elemento per ID
Fare clic sull'elemento che si desidera individuare. Nel pannello delle proprietà sul lato destro, puoi trovare l'ID di quell'elemento. (ignora @ + id /)
come aprire il file .bin su Windows
Nella figura sopra l'ID dell'elemento è btnadmin.
Il codice Robotium corrispondente per individuare questo pulsante è,
solo.clickOnButton(R.id.btnadmin);
- Individuazione elemento per posizione
In caso, se l'ID non è disponibile, è possibile individuare l'elemento utilizzando l'ordine. Se il pulsante è nella seconda posizione, puoi individuare il pulsante tramite,
solo.clickOnButton(1);
- Individuazione di elementi per testo
Anche tu puoi fare clic sul pulsante utilizzando il testo visualizzato sul pulsante.
Solo.clickOnButton(“ADMIN”);
- Individuazione dell'elemento casella di testo
Utilizzando un modo simile, fare clic sulla casella di testo in cui si desidera inserire i dati e trovare la posizione della casella di testo dal lato destro.
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- Individuazione di un elemento pulsante di opzione
Fare clic sull'elemento pulsante di opzione, si desidera fare clic e scoprire la posizione del pulsante di opzione.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
Codice di esempio
package com.sasi.attendanceproject.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.EditText; import com.robotium.solo.By; import com.robotium.solo.Solo; import com.robotium.solo.WebElement; import com.sasi.attendanceproject.Home; public class AttendanceTest extends ActivityInstrumentationTestCase2{ private Solo solo; public AttendanceTest() { super('com.sasi.attendanceproject.Home',Home.class); // TODO Auto-generated constructor stub } public void setUp()throws Exception{ solo=new Solo(getInstrumentation(),getActivity()); } public void testAttendance()throws Exception{ //solo.assertCurrentActivity('Current Activity', Home.class); solo.waitForWebElement(By.id('btnadmin')); solo.clickOnButton('ADMIN'); solo.clickOnButton(0); solo.waitForText('Creating New Password'); solo.enterText(0, 'test'); solo.enterText(1, 'test'); solo.clickOnButton('Okay'); solo.waitForText('Attendance Login'); solo.enterText(0, 'Anitha'); solo.enterText(1, 'test'); solo.clickOnButton('Login'); solo.waitForWebElement(By.id('btnaddnew')); solo.clickOnButton('Add New Details'); solo.waitForText('Enter the Employee Details'); solo.enterText(0, 'Anitha'); solo.enterText(1, '6'); solo.enterText(2, 'Testing Engineer'); solo.clickOnRadioButton(1); solo.clickOnButton('Okay'); solo.waitForWebElement(By.id('tvempID')); System.out.println(solo.getText(0)); } public void tearDown()throws Exception{ solo.finishOpenedActivities();}}
Esecuzione del progetto Robotium
Da Eclipse:
Fare clic con il tasto destro del mouse sul progetto e selezionare Esegui come -> Test JUnit Android
Dal prompt dei comandi:
Passo 1) Cd nella directory del progetto di test Android
Passo 2) Esegui il seguente comando,
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
Conclusione
- Robotium è lo strumento di automazione dei test Android più comunemente utilizzato.
- I casi di test Robotium possono essere eseguiti su Android Emulator così come sul dispositivo Real, non abbiamo bisogno di scrivere alcun codice di configurazione specifico per eseguire i casi di test Robotium sul dispositivo Real.
- Robotium Può essere facilmente scritto anche nel progetto Maven e può essere eseguito tramite strumenti di integrazione continua.
- Pertanto, Robotium è molto utile per scrivere script di automazione di Android Test facili / semplici.
Lettura consigliata => 5 Sfide e soluzioni dei test mobili
Circa l'autore: Questo è un guest post di Anitha Eswari. Attualmente lavora come ingegnere di test senior con più di tre anni di vasta esperienza nei test di automazione web e mobile. Ha una solida conoscenza di vari strumenti di test di automazione, inclusi strumenti di test mobili come Robotium e Appium.
Nel nostro prossimo articolo, discuteremo di più su Tutorial su Selendroid.
Lettura consigliata
- Differenza tra desktop, test server client e test Web
- Esercitazione sul test dell'interfaccia utente mobile (test della GUI di app iOS e Android)
- 11 migliori strumenti di automazione per testare applicazioni Android (strumenti di test per app Android)
- Installazione dell'applicazione sul dispositivo e avvio del test da Eclipse
- Test di carico con LoadUI - Uno strumento di test di carico gratuito e open source
- Tutorial Appium per testare app mobili Android e iOS
- Esercitazione sul test della GUI: una guida completa al test dell'interfaccia utente (UI)
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)