Önceki yazımda test otomasyonu neden gereklidir konusuna değinmiştim.Bu yazımda size mobil test otomasyon araçlarından biri olan “Robotium” kullanımı ile ilgili küçük bir giriş yapacağım.(https://code.google.com/p/robotium/)
Robotium ile android uygulamalarınızın arayüz testlerini kolayca yazabilirsiniz. Manuel olarak yürüttüğünüz testlerinizi otomatize edebilirsiniz.Ben sizlere kaynak kodları elinizde olan bir uygulama ile nasıl entegre edeceğiniz ve ilk testinizi nasıl çalıştırabileceğinizden bahsedeceğim.Aşağıdaki adımları takip etmeye başlayabilirsiniz:

1. Robotium kütüphanesinin projeye dahil edilmesi
first
Öncelikle https://code.google.com/p/robotium/wiki/Downloads?tm=2 adresinden kütüphanenin en son halini indirmeli, ardından indirdiğiniz kütüphaneyi projenizin libs dosyasına atmalısınız.
Son olarak bu kütüphaneyi projenin Build Path’ ine eklemelisiniz.

2. Test projesinin oluşturulması
second
Artık test projemizi oluşturabiliriz. Benim tavsiyem testlerinizin ayrı bir klasör ve paket içinde devam etmesi olacaktır. (Yandaki şekilde görüldüğü üzere “serefakyuzcomDers2” adında bir projeniz var ve bundan bağımsız “serefakyuzcomDers2-TestOtomasyonu” adında başka bir proje). Bu sayede geliştirme ekibinden bağımsız testlerinizi yazabilirsiniz. Test projenizin üzerindeki pakete sağ tıklayarak “New->Junit Test Case ” yolunu izledikten sonra setUp() ve teardown() metotlarını seçerek sınıfınızı oluşturunuz. SetUp() metodunun içine testlerinizi başlatmadan önce yapmak istediğiniz adımları yazabilirsiniz. Burada yapılacak işlemlerden bazıları; database’in temizlenmesi, uygulamadaki bazı adımların atlanması ve benzeri işlemler olabilir. Teardown() metodu içerisinde ise uygulama sonlandığında yapmak istediğiniz işlemler yer almalıdır.

3. Test yazımı
Testlerinizin anlaşılır olabilmesi için oluşturduğunuz senaryolarla benzer adımları takip etmelisiniz.Kodunuz böylece bir hikaye gibi akıp gider ve takibiniz daha da kolaylaşır.Bunun için yapmanız gereken şey “Software Design Pattern” lerinden birini izlemek olmalıdır. Arayüzdeki herhangi bir değişiklik kodunuzun bütününü etkilememelidir. Yazılımınız modüller halinde olmalıdır. Bunun için hadi artık küçük bir örneğe göz atalım;

Uygulamanızın içinde bir tamam butonu var ve siz buna tıklamak istiyorsunuz;
NOT!
Sınıfınızın içinde tanımlanan metot yapısı. Robotium ile test otomasyonu yazarken solo nesnesinin özellikleri kullanılır.

1
2
3
4
protected void clickOnText(String text) {
String string = waitForText(text);
solo.clickOnText(string);
}

NOT!
Testlerinize verdiğiniz ismi metotlarınıza verirseniz, hangi metot ne için kullanılıyordu kolayca anlarsınız.

1
2
3
4
public void testTamamButonunaTıklamaT01()
{
clickOnText(R.string.tamam);
}

testTamam sınıfı üzerinde; “sağ tık –> Run as –> Android Junit Test” şeklinde test senaryosu, emülatör ya da gerçek bir cihaz üerinde çalıştırılabilir.

Bu örnekte tamam butonunun gelmesini bekledik ve ona tıkladık.
Sonraki örneklerde görüşmek üzere…

Post comment

Time limit is exhausted. Please reload the CAPTCHA.