Robotium Eğitimi: İlkiniz Android iskelet
Robotyum nedir?
Robotium, yerel ve hibrit uygulamalar için test durumlarını otomatikleştirmek için bir android Test çerçevesidir. Geliştirici, Robotium'u kullanarak güçlü otomatik GUI test durumu oluşturabilir. Android uygulamalar. Ek olarak geliştirici, pek çok şeye yayılan bir işlevsellik, sistem ve kabul testi senaryosu yazabilir. Android faaliyetleri.
Robotyum test çerçevesi
Standart Android test çerçevesinin aşağıdaki gibi bazı sınırlamaları vardır
- Birden fazla aktiviteyi gerçekleştiremiyorum
- Test yürütme performansı yavaş
- Test vakaları karmaşıktır ve uygulanması zordur
robotyumyapı üzerinde test yapmak daha iyi bir seçimdir Android uygulama
Robotium açık kaynaklı bir çerçevedir ve bir uzantısı olarak kabul edilir. Android test çerçevesi. Geliştirici, Robotium'u kullanarak güçlü otomatik GUI test senaryoları oluşturabilir. Android uygulamalar. Ayrıca geliştirici, birden fazla alana yayılan işlevsel, sistem ve kabul testi senaryoları yazabilir. Android faaliyetleri.
.png)
Robotium Test Senaryosu Sınıfları
Robotium bir dizi sınıf kullanır (com.jayway.android.robotium.yalnız) test için. Bu sınıf, birden fazla aktiviteye yayılan test senaryolarını destekler. Solo, ActivityInstrumentationTestCase2 ile entegredir.
Test uzmanı, Robotium test vakası sınıflarını kullanarak uygulama tasarımı bilgisi olmadan (kara kutu testi) test vakaları yazabilir. Bu, Robotium'a kıyasla olağanüstü bir özelliktir. Android test senaryosu sınıfları.
Robotium nasıl kullanılır?
Robotium'u cihazınızda kullanmak için Android projeyi test etmek için aşağıdaki adımları izlemeniz gerekiyor
Test yapmak için Robotium'u kullanma Android başvuru. Kalitenizi garanti etmek için Android başvuru için aşağıdaki prosedürü izlemelisiniz
- Tasarım testi spesifikasyonu
- Test programı geliştirin
- Gerçekleştirmek Test Durumu hedef cihazda
- Test sonucunu topla
ADIM 1) Tasarım testi spesifikasyonu
- Bu, uygulamanızı test etmenin ilk adımıdır. Bu adımda test edilecek hedefi tanımlarsınız. senin içinde Android Uygulamada kullanıcı arayüzü, etkinlik, bileşenler, hizmetler gibi test edilmesi gereken birçok hedef vardır. Uygulamanızda hedefin net bir şekilde tanımlanması, geniş test kapsamına ulaşmanıza yardımcı olacaktır.
- Yapılacak test türlerini planlayın (Birim testi, Fonksiyonel test, Sistem testi).
- Maksimum kapsam için test senaryoları tasarlayın ancak test senaryolarının sayısını en aza indirin. Ne kadar çok kod test edilirse, hatanın erken tespit edilme şansı da o kadar artar.
ADIM 2) TEST programını yazın
Bu bölüm size nasıl yazılacağı konusunda rehberlik eder. Android kullanarak test programı Android haziran Test ve Robotyum. Zaten bir geliştirme yaptığınızı varsayalım. Android programın adı MerhabaAndroid. Bu programın aşağıda açıklanan bazı işlevleri vardır:
- “Merhaba dünya!” metnini görüntüleyin ekranda.
- Bir mesaj görüntüle MerhabaAndroid kullanıcı “Başlat” düğmesine bastığında
Sistem Gereksinimleri
- Android platform önceden entegre edilmiş olarak gelir JUnit 3.0 çerçevesi.
- Yaratmak için Android Test Projesi Eclipse, bilgisayarınızda aşağıdakilerin yüklü olması gerekir:
- En son sürüm Android Platform (şu anda Android 8.1)
Yapabilirsin indir Eclipse Yerleşik ADT'li IDE (Android Geliştirici Araçları). Temel unsurları içerir Android SDK bileşenleri ve bir sürümü Eclipse IDE.
Robotium test çerçevesi için Robotium kütüphanesini indirmeniz gerekir. Robotium web sayfası.
oluşturmak Android Test Projesi
- Dosya -> Yeni -> Diğer'i tıklayın
- Seçin: Android -> Android Projeyi aşağıdaki şekilde test edin -> İleri'yi seçin
Test projenizin adını yazın. Adlandırma kuralı olarak test projenizin adı "Merhaba" olmalıdır.AndroidÖlçek"
Test edilen hedef uygulamayı seçin. Bu durumda bu MerhabaAndroid Bitir'i tıklayın
Test Paketleri Oluşturun
Test spesifikasyonunuza göre test programınız için test paketleri oluşturmaya başladınız. Çeşitli Test çerçevelerini seçebilirsiniz. Bu derste standart seçiyorum Android test çerçevesi EtkinlikEnstrümantasyonTestCase2. Robotium framework ile test etmek istemeniz durumunda, Robotium kütüphane dosyasını proje klasörünüzdeki libs dizinine eklemelisiniz. (Proje klasörünüzde lib klasörü oluşturursunuz).
Bir test senaryosu, birden fazla testi çalıştıracak fikstürü tanımlar. Bir test senaryosu tanımlamak için aşağıdaki program yapısını izlemelisiniz:
- Bir alt sınıf uygulayın
TestCase
. - Fikstürün durumunu saklayan örnek değişkenleri tanımlayın
- SetUp() işlevini geçersiz kılarak fikstür durumunu başlatın
- Bir testten sonra, gözyaşıDown() işlevini geçersiz kılarak temizleme.
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
Test Senaryoları Ekleme
- TestSuite ile aynı pakette TestCase sınıfları oluşturuyoruz
- Belirli bir etkinliği test etmek için örneğin MerhabaAndroid, ActivityInstrumentationTestCase2 boyutunda bir test senaryosu oluşturunAndroid>
- Bu sınıfta, test uzmanı getActivity() yöntemi aracılığıyla test etkinliğini elde edebilir.
- “test + orijinal Yöntem Adı” adıyla yöntem oluşturarak bir test etkinliği için testi özgürce oluşturabilirsiniz.
- Test yönteminde test uzmanı şunları kullanabilir: Android JUnit Gerçek değer ile beklenen değeri karşılaştırma işlevi. Bu yöntemler aşağıda gösterilmiştir.
Yukarıdaki bu test paketleri, Uygulama GUI'sinin "Merhaba Dünya!" metnini görüntülemesi gerektiğini ve "Başlat" düğme adını içermesi gerektiğini doğruladı.
ADIM 3) Testi Çalıştırın
Test programınızı yazmayı bitirdikten sonra aşağıdaki adımları kullanarak testi çalıştırın.
- Sosyal medya Android cihazınızı PC'nize bağlayın (veya gerçek cihazınız yoksa Emulator'ı başlatın).
- IDE'nizde àAşağı Çalıştır'a sağ tıklayınAndroid Birim Testi
Testi IDE'de çalıştırmanın yanı sıra, testi komut satırında da çalıştırabilirsiniz. Bu test programında test paketi com.example.helloandroid.test şeklindedir. İçinde Linux Terminalde, bu paketteki tüm testleri çalıştırmak için aşağıdaki komutu kullanabilirsiniz:
$ adb kabuk am enstrüman -w -e package com.example.helloandroid.test
ADIM 4) Test sonucunu alın
Test yürütüldükten sonra test sonuçlarını alırsınız.
Bu test programında 4 test yöntemi yürütülmektedir. Bu durumda tüm test senaryoları geçilmiştir.
Test senaryosunun başarısız olması durumunda çıktı görüntülenir ve size hangi test senaryolarının başarısız olduğunu gösterir
Kaynak kodu örnekleri
Bu makaleler, öğreticiyi daha net anlamanıza ve teknik bilgiyi hızlı bir şekilde yakalamanıza yardımcı olacak bazı Kaynak Kodu örneklerini içerir.
- MerhabaAndroid: Uygulama test aşamasındadır.
- MerhabaAndroidtest: Programı kullanarak test edin Android Test çerçevesi