getting started with robotium most popular android application ui testing tool
Robotium, yerel ve hibrit android uygulamalarını test etmek için android Test Otomasyonu çerçevesidir . UI otomasyon betikleri yazmak için basit bir API sağlar. Bununla birlikte, Android uygulamalarını test etmek için çok sayıda araç mevcuttur, Robotium en yaygın kullanılanıdır Android test aracı .
Robotium, işlevsel, sistem ve kullanıcı kabul testi durumlarını yazmak için kullanılabilir. Robotium Test durumları Android emülatöründe ve Android gerçek cihazında yürütülebilir.
daha fazla okuma => Başlangıç Kılavuzu Mobil Uygulama Testi
Ne öğreneceksin:
Robotium'a Başlarken
Robotium'un Faydaları
- Yazması kolay
- Basit API (Tüm Yöntemler yalnızca Solo Sınıfında mevcuttur)
- Otomatik Gecikmeler ve Zamanlamalar
- Bir aktiviteden diğerine geçerken kod yazmaya gerek yok.
- Android yerel uygulamalarını ve hibrit uygulamayı test edin.
- Birden çok Android etkinliğini idare edebilir.
- API basit olduğu için test yazmak için daha az zaman.
- Kullanıcı arabirimi bileşenlerine çalışma zamanı bağlanması nedeniyle test durumları Sağlamdır
- Hızlı test senaryosu yürütme.
- Maven ve ANT ile kolayca bütünleşir.
Ön Koşullar
# 1) JAVA'yı İndirin ve Yükleyin
- Java'yı şuradan indirin: bu sayfa .
- Java kitaplıklarını PATH'a ekleyin ve JAVA_HOME'u ortamınızdaki java kurulum dizininin köküne ayarlayın.
# 2) ADT Paketini İndirin
- ADT paketini şuradan indirin: bu sayfa .
- ADT paket zip dosyasını çıkarın ve bir klasöre koyun.
- ANDROID_HOME'u Ortamınızdaki ADT paketi klasörünün köküne ayarlayın.
Bir Robotium Projesi Oluşturmak
Bir proje oluşturmak için sadece birkaç adım gereklidir,
Aşama 1) Açık Eclipse, test edilecek android uygulamanızı içerir.
Adım 2) Android projesine sağ tıklayın -> Android Araçları ve yeni Test projesine tıklayın.
Aşama 3) Test projesi için bir isim verin ve İleri düğmesine tıklayın.
Adım 4) Hedef olarak test edilen Uygulamayı seçin ve Bitir düğmesine tıklayın.
Adım 5) Eclipse çalışma alanında test projesi oluşturulacak.
Adım 6) Robotium solo jar dosyasını şuradan indirin: İşte .
Adım 7) Çalışma alanındaki Test projesine sağ tıklayın Oluşturma yoluna gidin ve Yapı yolunu yapılandır'a tıklayın.
Adım 8) Kitaplıklar sekmesine geçin, 'Harici kavanozlar Ekle' seçeneğine tıklayın ve indirilen Robotium jar dosyasına göz atın ve onu kitaplıklara ekleyin ve 'Tamam' ı tıklayın.
Adım 9) Robotium Test projesi başarıyla oluşturuldu. Artık proje altında sınıflar oluşturabilir ve test senaryolarını yazmaya başlayabiliriz.
Robotium Sınıfı Oluşturma
# 1) Test projesinde src dizini altındaki pakete sağ tıklayın ve yeni bir sınıf oluşturun.
#iki) Ana Aktivite sınıfını Robotium test projesine aktarın.
Sözdizimi :
import com.sasi.attendanceproject.Home;
# 3) Yeni sınıf, ActivityInstrumentationTestCase2 sınıfından özellikleri devralacak
public class AttendanceTest extends ActivityInstrumentationTestCase2
( Not: İşte Home, Android uygulamasında test edilecek aktivitedir)
# 4) Solo sınıfı için aşağıdaki gibi Örnek oluşturun
private Solo solo;
# 5) Aşağıdaki gibi Test sınıfı için bir Oluşturucu oluşturun
public AttendanceTest() { super(Home.class); // TODO Auto-generated constructor stub
# 6) Aşağıdaki gibi kurulum ve tearDown yöntemleri oluşturun
kurulum Enstrümantasyonu başlatmak için yöntem kullanılır
public void setUp()throws Exception { solo=new Solo(getInstrumentation(), getActivity()); }
Sökmek yöntem, test tamamlandıktan sonra aktiviteyi kapatmak için kullanılır.
public void tearDown() throws Exception { solo.finishOpenedActivities(); }
Bazı Robotium Yöntemleri
# 1) assertCurrentActivity (metin, Etkinlik)
Bu yöntem, geçerli etkinliğin send parametresi olarak aktarılan etkinlik olup olmadığını doğrular.
Sözdizimi
solo.assertCurrentActivity('Current Activity', Home.class);
#iki) clickOnButton (metin)
Bu yöntem, belirtilen Metin ile düğmeye tıklayacaktır.
Sözdizimi:
solo.clickOnButton('ADMIN');
# 3) clickOnButton (int)
Bu yöntem, belirtilen indeksli butona tıklayacaktır.
Sözdizimi:
solo.clickOnButton(2);
# 4) waitForText (metin)
Bu yöntem, etkinlik üzerinde metin görünene kadar bekleyecektir.
Sözdizimi:
solo.waitForText('Creating New Password');
# 5) enterText (int, metin)
Bu yöntem, ikinci parametre olarak aktarılan metni belirtilen dizin düzenleme kutusuna yazacaktır.
Sözdizimi:
solo.enterText(0,'test');
# 6) clickOnCheckbox (int)
Bu Yöntem, verilen dizine sahip onay kutusunu tıklayacaktır.
Sözdizimi:
solo.clickOnCheckBox(0);
# 7 ) clickOnRadioButton (int)
Bu Yöntem, verilen indeks ile Radyo düğmesine tıklayacaktır.
Sözdizimi:
solo.clickOnRadioButton(1);
# 8) clickOnImage (int)
Bu Yöntem, verilen indeks ile görüntüye tıklayacaktır.
Sözdizimi:
solo.clickOnImage(1);
# 9) clearEditText (int)
Bu Yöntem, düzenleme kutusundaki metni verilen dizinle temizleyecektir.
Sözdizimi:
solo.clearEditText(0);
# 10) waitForText (metin)
Bu Yöntem, verilen metin etkinlikte görünene kadar bekleyecektir.
Sözdizimi:
solo.waitForText(“Robotium”);
Örnek Program
Android Uygulamasında Öğeleri Bulma
Aşama 1) Test Edilecek Android Uygulamasını içeren Açık Eclipse.
Adım 2) Projeyi genişlet, Res'e git? Düzen klasörü ve otomatikleştirmek istediğiniz etkinlik XML dosyasına çift tıklayın. Tutulma düzenleyicisinde tasarlanan etkinliği açacaktır.
Aşama 3) Düğme Öğesini Bulma
- Öğeyi Kimliğe Göre Bulma
Bulmak istediğiniz Elemana tıklayın. Sağ taraftaki özellikler panelinde, o öğenin kimliğini bulabilirsiniz. (@ + id / yoksay)
Yukarıdaki şekilde öğenin kimliği, btnadmin'dir.
Bu düğmeyi bulmak için karşılık gelen Robotium kodu,
solo.clickOnButton(R.id.btnadmin);
- Öğeyi Konuma Göre Bulma
Kimlik mevcut değilse, siparişi kullanarak öğeyi bulabilirsiniz. Düğme ikinci konumdaysa, Bu durumda düğmeyi şu şekilde bulabilirsiniz:
solo.clickOnButton(1);
- Öğeyi Metne Göre Bulma
Düğmede görüntülenen metni kullanarak düğmeye bile tıklayabilirsiniz.
Solo.clickOnButton(“ADMIN”);
- Metin Kutusu Öğesini Bulma
Benzer bir şekilde veri girmek istediğiniz metin kutusuna tıklayın ve metin kutusunun sağ taraftaki konumunu bulun.
Solo.enterText(0,”Anitha”); //Username textbox is in 1st position
Solo.enterText(1,”test”); //Password textbox is in 2nd position
- Bir Radyo Düğmesi Öğesini Bulma
Radyo Düğmesi Öğesine tıklayın, tıklayıp radyo düğmesinin konumunu bulmak istiyorsunuz.
Solo.clickOnRadioButton(1); //It will location radio button in the second position.
Basit kod
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();}}
Robotium Projesinin Yürütülmesi
Eclipse'den:
Projeye sağ tıklayın ve Farklı Çalıştır -> Android JUnit Testi'ni seçin.
mobil uygulama için örnek test planı belgesi
Komut İsteminden:
Aşama 1) Android Test Projesi Dizininize Cd
Adım 2) Aşağıdaki komutu çalıştırın,
adb shell am instrument -w <>/android.test.InstrumentationTestRunner
Sonuç
- Robotium, en yaygın kullanılan Android Test otomasyon aracıdır.
- Robotium Test senaryoları, Real cihazının yanı sıra Android Emulator'de de yürütülebilir, Gerçek cihazda Robotium test senaryolarını çalıştırmak için herhangi bir özel yapılandırma kodu yazmamız gerekmez.
- Robotium Maven projesinde de kolaylıkla yazılabilir ve sürekli entegrasyon araçlarıyla çalıştırılabilir.
- Bu nedenle Robotium, kolay / basit Android Test otomasyon betikleri yazmada çok kullanışlıdır.
Önerilen Kaynaklar => 5 Mobil Test Zorlukları ve Çözümleri
Yazar hakkında: Bu, Anitha Eswari'nin misafir yazısı. Şu anda web ve mobil otomasyon testlerinde üç yıldan fazla kapsamlı deneyime sahip kıdemli bir test mühendisi olarak çalışıyor. Robotium ve Appium gibi mobil test araçları da dahil olmak üzere çeşitli otomasyon test araçları hakkında sağlam bilgiye sahip.
Bir sonraki yazımızda daha fazla tartışacağız. Selendroid Eğitimi.
Önerilen Kaynaklar
- Masaüstü, İstemci Sunucu Testi ve Web Testi arasındaki fark
- Mobil UI Testi Eğitimi (iOS ve Android Uygulamalarının GUI Testi)
- Android Uygulamalarını Test Etmek İçin En İyi 11 Otomasyon Aracı (Android Uygulama Test Araçları)
- Uygulamanızı Cihaza Yükleme ve Eclipse'den Test Etmeye Başlama
- LoadUI Kullanarak Yük Testi - Ücretsiz ve Açık Kaynaklı Bir Yük Test Aracı
- Android ve iOS Mobil Uygulamalarını Test Etmek İçin Appium Eğitimi
- GUI Test Eğitimi: Eksiksiz Bir Kullanıcı Arayüzü (UI) Test Kılavuzu
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)