Robotium Öğretici: Android Örnekli Test Çerçevesi
⚡ Akıllı Özet
Robotium açık kaynaklı Android Yerel ve hibrit uygulamaları kullanıcı arayüzleri üzerinden yönlendiren, test uzmanının işlevsel, sistem ve kabul senaryolarını yazmasına olanak tanıyan bir test otomasyon çerçevesi. Bu senaryolar çeşitli katmanları kapsayabilir. Android faaliyetleri.
Nedir? Robotium?
Robotium bir Android Yerel ve hibrit uygulamalar için test senaryolarını otomatikleştiren bir test çerçevesi. RobotiumBir geliştirici, aşağıdakiler için sağlam otomatik GUI test senaryoları oluşturabilir: Android Geliştirici ayrıca, çeşitli uygulamaları kapsayan fonksiyonel, sistem ve kabul test senaryoları da yazabilir. Android faaliyetleri.
Robotium Test Çerçevesi
Standart Android Test çerçevesi aşağıda listelenen sınırlamaları içermektedir.
- Birden fazla aktiviteyi gerçekleştiremiyorum
- Test yürütme performansı yavaş
- Test senaryoları karmaşık ve uygulanması zor.
MKS Robotium Bu çerçeve, bir cihaz üzerinde test yapmak için daha iyi bir seçimdir. Android uygulama.
Robotium Açık kaynaklı bir çerçevedir ve 'nin bir uzantısı olarak kabul edilir. Android test çerçevesi. Kullanarak. RobotiumBir geliştirici, aşağıdakiler için sağlam otomatik GUI test senaryoları oluşturabilir: Android Dahası, bir geliştirici birden fazla uygulamayı kapsayan işlevsel, sistem ve kabul testi senaryoları yazabilir. Android faaliyetleri.
Aşağıdaki tablo, farklı özelliklere sahip gelişmiş özellikleri özetlemektedir. Robotium Basit enstrümantasyon çerçevesinden.
gelişmiş özellikleri Robotium
Robotium Test Senaryosu Sınıfları
Robotium Test amaçlı küçük bir sınıf kümesi içerir ve makaledeki örnek eski sürümü içe aktarır. com.jayway.android.robotium.solo Bu paket, birden fazla etkinliği kapsayan test senaryolarını destekleyen sınıfları içerir. Solo ile entegre ActivityInstrumentationTestCase2.
Not: akım Robotium Yayınlar, daha kısa süre içinde aynı sınıfı ortaya çıkarıyor. com.robotium.solo Maven koordinatı aynı kalırken paket aynı kaldı. com.jayway.android.robotium:robotium-soloİçe aktarma ayarlarını, projeye eklediğiniz JAR sürümüyle eşleşecek şekilde düzenleyin.
Aşağıdaki diyagram, Solo sınıfının enstrümantasyon test senaryosunun üzerinde nasıl konumlandığını göstermektedir.
Entegrasyonu Robotium ve AktiviteEnstrümantasyonTestVakası2
Bir test uzmanı, uygulamanın tasarımına dair bilgi sahibi olmadan test senaryoları yazabilir; bu da bu yaklaşımı bir test biçimi haline getirir. kara kutu testiBu, sıradan olana kıyasla olağanüstü bir avantajdır. Android test senaryosu sınıfları.
Nasıl Kullanılır? Robotium
Kullanmak için Robotium Cihazınızda Android Test projesi için aşağıdaki adımları izlemeniz gerekiyor.
Nasıl kullanılır? Robotium
Ürünlerinizin kalitesini garanti altına almak için Android Başvuru için lütfen aşağıdaki dört aşamalı prosedürü izleyin.
- Test spesifikasyonunu tasarlayın.
- Test programını geliştirin.
- Test senaryosunu hedef cihazda çalıştırın.
- Test sonucunu alın.
Aşağıdaki akış şeması bu dört aşamayı sırasıyla göstermektedir.
Android uygulama test prosedürü
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. Android Uygulamanın, kullanıcı arayüzü, etkinlikler, bileşenler ve servisler gibi test edilmesi gereken birçok hedefi vardır. Hedefi net bir şekilde tanımlamak, geniş bir test kapsamı elde etmenize yardımcı olur.
- Gerçekleştirilmesi gereken test türlerini planlayın (birim testi, fonksiyonel test, sistem testi).
- Her birini tasarlayın test durumu maksimum kapsama alanı sağlarkenping Test senaryolarının sayısı az olmalıdır. Ne kadar çok kod test ederseniz, hataların erken tespit edilme olasılığı o kadar yüksek olur.
ADIM 2) Test Programını Yazın
Bu bölüm, bir yazı yazma sürecinde size rehberlik eder. Android kullanarak test programı Android JUnit testler ve RobotiumVarsayalım ki zaten bir şey geliştirmişsiniz. Android Hello adlı programAndroidBu program aşağıda açıklanan işlevlere sahiptir.
- Ekranda “Merhaba dünya!” metnini görüntüleyin.
- Merhaba'yı gösterAndroid Kullanıcı "Başlat" düğmesine bastığında bir mesaj görüntülenir.
Aşağıdaki ekran görüntüsü, test edilen uygulamanın bir cihazda çalışırkenki halini göstermektedir.
MerhabaAndroid uygulama
Sistem Gereksinimleri
- MKS Android Platform, önceden entegre edilmiş bir özellikle birlikte gönderilir. JUnit 3 çerçeve, yani bu
ActivityInstrumentationTestCase2üzerine inşa edilir. - Oluşturmak için Android test projesinden EclipseMakinenizin çalışır durumda olması gerekiyor. Android SDK kurulumu.
- Mevcut olanı yükleyin. Android Sabitlenmiş eski bir sürüm yerine platform SDK'sı.
Bu kılavuzdaki ekran görüntüleri şu şekildedir: Eclipse Örnek yazıldığı sırada standart araç zinciri olan ADT eklentisiyle birlikte. Eclipse ADT artık desteklenmiyor, bu nedenle modern bir bilgisayarda şunları yapmanız gerekir: indir Android Studio bunun yerine aynı test kodunu yeniden kullanın. Gradle modülü.
Için Robotium test çerçevesini indirin Robotium kütüphaneden Robotium proje sayfası.
Bir oluşturma Android Test Projesi
- Dosya -> Yeni -> Diğer'i tıklayın
- Klinik Android -> Android Aşağıdaki şekilde gösterildiği gibi Test Projesi'ni seçin, ardından İleri'yi seçin.
Yeni bir tane oluştur Android test projesi
Test projenizin adını yazın. Adlandırma kuralına göre, test projesi "Merhaba" olarak adlandırılmalıdır.AndroidÖlçek".
Test projesinin adını adlandırma kuralına göre ekleyin.
Test edilecek hedef uygulamayı seçin. Bu durumda hedef uygulama Hello'dur.Android, ardından Bitir'e tıklayın.
Test edilecek hedef uygulamayı seçin.
Test Paketleri Oluşturun
Test spesifikasyonunuza bağlı olarak, test programınız için test paketleri oluşturabilirsiniz. Çeşitli seçenekler arasından seçim yapabilirsiniz. yazılım testi Bu eğitimde standart çerçeveler kullanılmaktadır. Android test çerçevesi ActivityInstrumentationTestCase2. ile test etmek için Robotium, ekle Robotium kütüphane dosyasını bir libs Proje klasörünüzün içindeki dizin.
Bir test senaryosu, birden fazla testi çalıştırmak için kullanılan test ortamını tanımlar. Bir test senaryosu tanımlamak için aşağıdaki program yapısını izleyin.
- TestCase sınıfının bir alt sınıfını uygulayın.
- Deney düzeneğinin durumunu saklayan örnek değişkenler tanımlayın.
- setUp() yöntemini geçersiz kılarak fikstür durumunu başlatın.
- Testten sonra temizleme işlemini tearDown() yöntemini geçersiz kılarak gerçekleştirin.
Aşağıdaki diyagram, bu yapıyı yazacağınız test programına yansıtmaktadır.
Test programı yapısı
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
- Test paketiyle aynı pakette TestCase sınıflarını oluşturun.
- Örneğin, belirli bir etkinliği test etmek için, "Merhaba"AndroidActivityInstrumentationTestCase2'yi genişleten bir test durumu oluşturun.Android>.
- Bu sınıfın içinde, test eden kişi getActivity() metodu aracılığıyla test edilecek aktiviteyi elde eder.
- “test + orijinal metot adı” şeklinde bir metot ekleyerek etkinlik için serbestçe bir test oluşturun.
- Test metodu içinde, test uzmanı şunları kullanabilir: Android JUnit Gerçek değeri beklenen değerle karşılaştırmak için kullanılan fonksiyonlar aşağıda gösterilmiştir.
Aşağıdaki tabloda, iki çerçevede en sık kullanılan doğrulama ve etkileşim yöntemleri listelenmiştir.
Örnek yöntemler Robotium ve Android test çerçevesi
Yukarıdaki test paketi, uygulamanın grafik kullanıcı arayüzünde "Merhaba Dünya!" metninin görüntülendiğini ve "Başlat" adlı bir düğmenin bulunduğunu doğrular.
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.
- Bağlayın Android Gerçek bir cihaz yoksa, cihazı bilgisayarınıza bağlayın veya bir emülatör başlatın.
- IDE'nizde test projesine sağ tıklayın ve "Farklı Çalıştır" seçeneğini seçin → Android Birim Testi.
Aşağıdaki ekran görüntüsü, IDE'den başlatılan test çalışmasını göstermektedir.
Test programını çalıştırma
Testi IDE üzerinden çalıştırmanın yanı sıra, komut satırından da çalıştırabilirsiniz. Bu test programında test paketi şudur: com.example.helloandroid.testLinux terminalinde, söz konusu paketteki tüm testleri çalıştırmak için aşağıdaki komutu kullanın.
$ adb shell am instrument -w -e package com.example.helloandroid.test
ADIM 4) Test Sonucunu Alın
Test tamamlandıktan sonra test sonuçlarını toplarsınız.
Bu test programında dört test metodu çalıştırılmaktadır. Aşağıdaki çalıştırmada tüm test durumları başarılı olmuştur.
Tüm test senaryoları başarılı olduğunda test sonucu çıktısı
Bir test senaryosu başarısız olursa, çıktı görüntülenir ve hangi test senaryolarının başarısız olduğu gösterilir.
Bir test senaryosu başarısız olduğunda test sonucu çıktısı
Kaynak Code Örnekler
Bu makale, öğreticiyi daha net bir şekilde takip etmenize ve teknik ayrıntıları hızlıca kavramanıza yardımcı olacak kaynak kod örnekleri içermektedir.
- MerhabaAndroidTest edilen uygulama.
- MerhabaAndroidtest: test programı kullanılarak Android test çerçevesi.
karşılaştırmak istersen Robotium Bu alandaki diğer seçenekler için şunlara bakın: mobil uygulama testi rehber, Appium öğretici ve özet mobil uygulama test araçları.

.png)
.png)
.png)



.png)

.png)
.png)

.png)
.png)