Robotium nedir?
Robotium, yerel ve hibrit uygulamalar için test senaryolarını otomatikleştirmek için bir android Test çerçevesidir. Geliştirici, Robotium'u kullanarak Android uygulamaları için güçlü otomatik GUI test durumu oluşturabilir. Ek olarak, geliştirici birçok Android etkinliğini yayarak bir işlevsel, sistem ve kabul testi senaryosu yazabilir.
Bu eğitimde öğreneceksiniz-
- Robotium test çerçevesi
- Robotium nasıl kullanılır
- ADIM 1) Tasarım testi özelliği
- ADIM 2) TEST programını yazın
- ADIM 3) Testi Çalıştır
- ADIM 4) Test sonucunu alın
Robotium test çerçevesi
Standart Android test çerçevesinin aşağıdaki gibi bazı sınırlamaları vardır
- Birden çok etkinlik işlenemiyor
- Test yürütme performansı yavaş
- Test senaryoları karmaşıktır ve uygulanması zordur
Robotium çerçevesi , Android uygulamasında test yapmak için daha iyi bir seçimdir
Robotium açık kaynak çerçevesidir ve Android test çerçevesinin bir uzantısı olarak kabul edilir. Geliştirici, Robotium'u kullanarak Android uygulamaları için sağlam otomatik GUI test durumları oluşturabilir. Ayrıca geliştirici, birden fazla Android etkinliğini kapsayan işlevsel, sistem ve kabul testi senaryoları yazabilir.
Robotium'un gelişmiş özellikleri
Robotium Test Vaka Sınıfları
Robotium, test için bir dizi sınıf ( com.jayway.android.robotium.solo ) kullanır . Bu sınıf, birden çok etkinliğe yayılan test senaryolarını destekler. Solo, ActivityInstrumentationTestCase2 ile entegre edilmiştir.
Entegrasyon Robotium ve ActivityInstrumentationTestCase2
Test cihazı, Robotium test senaryosu sınıflarını kullanarak uygulama tasarımı bilgisi olmadan (kara kutu testi) test senaryoları yazabilir. Android test senaryosu sınıflarına kıyasla olağanüstü bir özelliktir.
Robotium nasıl kullanılır
Robotium'u Android test projenizde kullanmak için aşağıdaki adımları izlemeniz gerekirAndroid uygulamasında test yapmak için Robotium'u kullanma. Android uygulamanızın kalitesini garanti etmek için aşağıdaki prosedürü izlemelisiniz
- Tasarım testi özellikleri
- Test programı geliştirin
- Hedef cihazda Test Vakasını yürütün
- Test sonucunu toplayın
Android uygulaması Test prosedürü
ADIM 1) Tasarım testi özelliği
- Bu, uygulamanızı test etmenin ilk adımıdır. Bu adımda test edilecek hedefi tanımlayacaksınız. Android uygulamanızda, UI, Activity, bileşenler, hizmetler gibi test edilmesi gereken birçok hedef vardır. Uygulamanızda hedefi net bir şekilde tanımlamak, geniş bir test kapsamı elde etmenize yardımcı olacaktır.
- Uygulanacak 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. Daha fazla kod test edildikçe, erken hata tespiti şansı artar.
ADIM 2) TEST programını yazın
Bu bölüm, Android Junit Test ve Robotium kullanarak bir Android test programını nasıl yazacağınız konusunda size rehberlik eder. Zaten HelloAndroid adında bir Android programı geliştirdiğinizi varsayalım. Bu programın aşağıda açıklanan bazı işlevleri vardır:
- "Merhaba dünya!" Metnini görüntüleyin. ekranda.
- Kullanıcı "Başlat" düğmesine bastığında HelloAndroid mesajı görüntüle
HelloAndroid Uygulaması
sistem gereksinimleri
- Android platformu, önceden entegre edilmiş JUnit 3.0 çerçevesiyle birlikte gelir.
- Eclipse'den Android Test Projesi oluşturmak için, bilgisayarınızın kurulu olması gerekir:
- En son sürüm Android Platformu (şu anda Android 8.1)
Eclipse IDE'yi yerleşik ADT (Android Geliştirici Araçları) ile indirebilirsiniz. Temel Android SDK bileşenlerini ve Eclipse IDE'nin bir sürümünü içerir.
Robotium test çerçevesi için, Robotium kitaplığını Robotium web sayfasından indirmeniz gerekir.
Android Test Projesi Oluşturun
- Dosya -> Yeni -> Diğer'i tıklayın.
- Seçin: Android -> Android Test Projesi aşağıdaki şekle göre -> İleri'yi seçin
Yeni Android test projesi oluşturun
Test projenizin adını yazın. Adlandırma kuralı olarak, test projenizin adı "HelloAndroidTest" olmalıdır
Adlandırma kuralına test projesi adı tabanı ekleyin
Test edilen hedef uygulamayı seçin. Bu durumda, bu HelloAndroid tıklayın Bitir
Test edilen hedef uygulamayı seçin
Test Paketleri Oluşturun
Test spesifikasyonunuza dayanarak, test programınız için test takımları oluşturmaya başladınız. Çeşitli Test çerçevesi seçebilirsiniz. Bu öğreticide, standart Android test çerçevesi ActivityInstrumentationTestCase2'yi seçiyorum . Robotium çerçevesi ile test etmek istemeniz durumunda, proje klasörünüzdeki bir libs dizinine Robotium kitaplık dosyası eklemeniz gerekir. (Proje klasörünüzde lib klasörü oluşturursunuz).
Bir test durumu, fikstürü birden çok test yürütmek için 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 depolayan örnek değişkenleri tanımlayın
- SetUp () değerini geçersiz kılarak fikstür durumunu başlatın
- TearDown () öğesini geçersiz kılarak bir testten sonra temizlik.
Test programının yapısı
paket com.example.helloandroid.test;import com.example.helloandroid.HelloAndroid;import com.jayway.android.robotium.solo.Solo;ithal android.test.ActivityInstrumentationTestCase2;android.widget.TextView dosyasını içe aktarın;public class HelloAndroidTest, ActivityInstrumentationTestCase2{özel HelloAndroid mActivity;özel TextView mView;private String resourceString;özel Solo solo;public HelloAndroidTest () {// TODO Otomatik oluşturulan yapıcı saplamasısuper ("com.example.helloandroid", HelloAndroid.class);}@Overridekorumalı void setUp () İstisna {// TODO Otomatik oluşturulan yöntem saplaması// super.setUp ();mActivity = this.getActivity ();solo = yeni Solo (getInstrumentation (), getActivity ());mView = (TextView) mActivity.findViewById (com.example.helloandroid.R.id.textview2);resourceString = mActivity.getString (com.example.helloandroid.R.string.hello_world);}@Overridekorumalı void tearDown (), Exception {// TODO Otomatik oluşturulan yöntem saplaması//super.tearDown ();solo.finishOpenedActivities ();}public void testPrecondition () {assertNotNull (mView);}/ * test Hedef uygulaması bir metin görüntüsü içerir "Merhaba Dünya!" * /public void testSearchText () {assertEquals (resourceString, (Dize) mView.getText ());}/ * Test HelloAndroid Etkinliği hedef uygulamada mevcut * /public void testCurrentActivity (), İstisna {{solo.assertCurrentActivity ("yanlış etkinlik", HelloAndroid.class);}/ * test Uygulama kullanıcı arayüzünde "Başlat" düğmesi bulunur * // * hedef uygulamaya olay tıklama düğmesi gönder * /public void testSearchButton () Exception {boolean bulundu = solo.searchButton ("Başlat");solo.clickOnButton ("Başlat");assertTrue (bulundu);}}
Test Durumları Ekleme
- TestSuite ile aynı pakette TestCase sınıfları oluşturuyoruz
- HelloAndroid gibi belirli bir etkinliği test etmek için, bir test durumu kapsamı oluşturun ActivityInstrumentationTestCase2
- Bu sınıfta, test uzmanı getActivity () yöntemi aracılığıyla test etkinliği elde edebilir.
- "Test + orijinal Yöntem Adı" adıyla bir yöntem oluşturarak bir test etkinliği için serbestçe test oluşturabilirsiniz.
- Test yönteminde, test cihazı gerçek değeri ve beklenen değeri karşılaştırmak için Android JUnit işlevini kullanabilir. Bu yöntemler aşağıda gösterilmiştir.
Robotium ve Android Testing çerçevesinin örnek yöntemleri
Yukarıdaki bu test paketleri, Uygulama GUI'sinin bir "Merhaba Dünya!" Metni görüntülemesi gerektiğini ve "Başlat" düğmesini içeren bir düğme içerdiğini doğruladı.
ADIM 3) Testi Çalıştır
Test programınızı yazmayı bitirdikten sonra, aşağıdaki adımları kullanarak testi çalıştırın.
- Android cihazı PC'nize bağlayın (veya gerçek cihazınız yoksa Emulator'ü başlatın).
- IDE'nizde, àRun asàAndroid Unit Test'i sağ tıklayın
Test programını çalıştırma
IDE üzerinde test çalıştırmanın yanı sıra, komut satırında test çalıştırabilirsiniz. Bu test programında test paketi com.example.helloandroid.test şeklindedir. In Linux terminali, bu paketteki tüm testi çalıştırmak için aşağıdaki komutu kullanabilirsiniz:
$ adb shell am enstrüman -w -e paketi com.example.helloandroid.test
ADIM 4) Test sonucunu alın
Test çalıştırıldıktan sonra test sonuçlarını alırsınız.
Bu test programında 4 test yöntemi uygulanmaktadır. Bu durumda, tüm test durumları geçilir.
Tüm test durumlarının geçmesi durumunda test sonucu çıktısı
Test senaryosunun başarısız olması durumunda çıktı görüntülenir ve size hangi test durumlarının başarısız olduğunu gösterir
Tüm test durumlarının başarısız olması durumunda test sonucu çıktısı
Kaynak kodu örnekleri
Bu makaleler, öğreticiyi daha net anlamanıza ve teknik bilgileri hızlı bir şekilde yakalamanıza yardımcı olacak bazı Kaynak Kodu örneklerini içerir
- HelloAndroid: Test edilen uygulama.
- HelloAndroidTest: Android Test çerçevesini kullanarak test programı