Robotium Eğitimi: İlk Android Çerçeveniz

İçindekiler:

Anonim

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 gerekir

Android uygulamasında test yapmak için Robotium'u kullanma. Android uygulamanızın kalitesini garanti etmek için aşağıdaki prosedürü izlemelisiniz

  1. Tasarım testi özellikleri
  2. Test programı geliştirin
  3. Hedef cihazda Test Vakasını yürütün
  4. 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ı