Örnekle Yeni Başlayanlar İçin Selendroid Eğitimi

İçindekiler:

Anonim

Hiç bir Android uygulaması geliştirip Google Play'de yayınladınız mı? Böyle bir kullanıcı yorumu alırsanız ne yapacaksınız -

Google Play'de bir uygulama yayınladığınızda, olası hatalardan kaçınmak için iyi bir şekilde test edilmelidir. Bir uygulamayı yayınlamadan önce yürütülmesi gereken bir ton test senaryosu vardır. Test çabasından tasarruf etmek için bir test aracına ihtiyacınız vardır. Android uygulaması için en iyi test araçlarından biri Selendroid'tir.

  • Selendroid nedir?
  • Neden Selendroid'e ihtiyacımız var?
  • Selendroid Mimarisi
  • Selendroid'e başlarken
  • Selendroid ortamı kurma
  • Selendroid nasıl başlatılır
  • Selendroid temel komutu
  • Selendroid ile ilk testinize başlayın

Selendroid nedir?

Selendroid, çok tipli mobil uygulamalar için bir test otomasyon çerçevesidir: yerel ve hibrit Android uygulaması ve mobil web.

Selenium 2 istemci API'lerini kullanarak testleri yazabilirsiniz. Çünkü Selendroid hala web için mevcut Selenium altyapısını yeniden kullanıyor

Selendroid güçlü bir test aracıdır. Bu kullanılabilir emülatörlerine ve gerçek cihazlar

Neden Selendroid'e ihtiyacımız var?

Selendroid harika bir test aracıdır. Ama yine de yararlılığından şüphe duyabilirsiniz.

Bu bölüm, Selendroid'e neden ihtiyacınız olduğu sorusuna cevap vermek için Selendroid'in önemli özelliklerini tanıtacaktır.

  • Uygulamada herhangi bir değişiklik yapmadan Selendroid kullanarak test edilen uygulamayı test edebilirsiniz. Sadece bilgisayarda kurulu ikili dosyaya (APK) ihtiyacınız var. İkili dosyayı cihaza yüklemek için test uygulaması ve mobil uygulama aynı işaret anahtarıyla imzalanmalıdır.
  • Selendroid test uygulaması aynı anda birden fazla cihaz veya simülatör ile etkileşime girebilir. Selendroid'in büyük bir avantajı. Böylece, uyumluluğu kontrol etmek için uygulamanızı çeşitli Android cihazlarla test edebilirsiniz.
  • Selendroid, bir uygulamada cihazlarda dokunma, kaydırma, sürükleme ve bırakma gibi insan-kullanıcı eylemlerini simüle edebilir
  • Test sırasında, testi yeniden başlatmadan veya durdurmadan donanım aygıtlarını değiştirebilirsiniz (Takın ve çıkarın). Selendroid yeni cihazları otomatik olarak tanır
  • Android API sürüm yükseltmesine karşılık gelen Selendroid, yeni Android API'yi de destekler (API 10'dan API 19'a)
  • Selendroid ayrıca test edilen bir uygulamanın UI öğesini tanımlamanıza yardımcı olacak bazı yerleşik denetleme aracına sahiptir. Örneğin, kimlik düğmesi, metin alanı, metin görünümü…

Selendroid Mimarisi

Selendroid, Android enstrümantasyon çerçevesine dayanmaktadır. Selendroid testleri, Selenium Web sürücüsü istemci API'sine dayalı olarak yazılmıştır, bu nedenle mevcut Selenium çerçeveleriyle tam entegrasyonu destekler.

Aşağıdaki şekil Selendroid'in mimarisini açıklamaktadır.

Selendroid 4 ana bileşen içerir:

  • Web Sürücüsü İstemcisi - Selenium'a dayalı Java istemci kitaplığı. Bu kitaplık bilgisayara kurulmalıdır (test senaryolarını geliştirmek için kullanılır)
  • Selendroid-Server - Android cihaz veya simülatörde test edilen uygulamada çalışan sunucu. Bu, bir Selendroid mimarisinin ana bileşenleridir
  • Android Driver-App - Mobil web'i test etmek için yerleşik bir Android sürücüsü, Web Görünümü uygulaması.
  • Selendroid-Standalone - Bu bileşen, Selendroid sunucusunu ve test edilen uygulamayı (AUT) yüklemek için kullanılır

Selendroid'e başlarken

Selendroid'in önemini zaten biliyordunuz. Şimdi ellerimizi Selendroid ile kirletelim.

Selendroid ile ilk testten önce yapılması gereken 3 adım vardır

Selendroid ortamı kurma

Selendroid; Window, Linux ve Mac OS üzerinde çalışabilir. Bu eğitimde Selendroid'i Windows İşletim Sisteminde kuracağız.

Selendroid'i kullanmadan önce, aşağıdaki paketi yüklemeniz gerekir

  • Java SDK (minimum 1.6)

    Lisans sözleşmesini kabul etmeli ve java yükleyiciyi indirmelisiniz (İşletim sisteminizde x64 veya x86 tabanını seçin)

    Java SDK'yı normal yazılım olarak indirin ve yükleyin

  • Android SDK'nın son sürümü
  • Bilgisayarınızda en az bir Android Sanal Cihaz (AVD) veya PC'ye takılı gerçek bir Android cihaz olmalıdır.
  • Bağımlılıklar, Selendroid Client ve Selenium Client ile Selendroid Standalone
  • Eclipse yazılımı
  • JAVA_HOME ve ANDROID_HOME'u kurun

    Adım 1) Pencerede Bilgisayar -> Özellikler -> Gelişmiş Sistem Ayarı'na sağ tıklayın

    Adım 2) Sistem Özellikleri penceresi ekranı, Gelişmiş -> Ortam Değişkenleri sekmesini seçin.

    Adım 3) Ortam penceresi görüntülenir, Yeni -> Aşağıdaki gibi bir değişken girin ANDROID_HOME'u tıklayın.

    Değişken değeri, önceden yüklediğiniz android sdks yoludur.

    Sistem değişkenini bulun Yol -> Düzenle -> Aşağıdaki satırı mevcut satırdan sonra ekleyin

    ANDROID_HOME'a benzer şekilde, aşağıdaki gibi değere sahip yeni değişken JAVA_HOME ekleyin

    Değer, Java JDK kurulumunuzun yoludur

    Adım 4) Bilgisayarınızı yeniden başlatın -> Bitti

Selendroid nasıl başlatılır

Adım 1) Teste tabi bir uygulama almak

Selendroid'in nasıl çalıştığını kontrol etmek için mevcut Selendroid test uygulamasını kullanabilirsiniz (Test edilen örnek uygulamaya bağlantı)

İndirme işlemi tamamlandığında, bu APK'yı ve yukarıdaki Selendroid Standalone jar dosyasını " Guru99" adlı bir klasöre kopyalayın.

Adım 2) Selendroid'i başlatın

Windows'ta terminali açın ve 1. adımda oluşturulan Guru99 klasörüne gidin.

Aşağıdaki komutu çalıştırın

Çıktı aşağıdaki gibi görüntülenecektir

Bu komutu çalıştırdıktan sonra Selendroid bağımsız HTTP sunucusu başlar! Bu sunucunun varsayılan bağlantı noktası numarası 4444'tür. Tüm donanım aygıtlarının yanı sıra Android Sanal Aygıt da otomatik olarak taranacak ve tanınacaktır. Selendroid, Android hedef sürümünü ve cihaz ekran boyutunu belirleyecektir.

Android hedef sürümünü ve cihaz bilgilerini kontrol etmek için aşağıdaki URL'yi bir tarayıcıda başlatabilirsiniz:

http: // localhost: 4444 / wd / hub / status.

Selendroid temel komutu

Bu bölüm size bazı temel Selendroid-Bağımsız komut satırını tanıtır. Selendroid test ortamını kurmak için bunları kullanabilirsiniz

  1. Selendroid bağlantı noktasını ayarlama

    Selendroid'in varsayılan bağlantı noktası 4444'tür. Ancak Selendroid'i başlatmak için komuta bir parametre ekleyerek başka bir bağlantı noktasına geçebilirsiniz.

    Parametre: -port [bağlantı noktası numarası]

    Örneğin:

    Yukarıdaki komutta, 5555 yeni bağlantı noktasıdır.

Dolayısıyla, Android hedef sürümünü kontrol etmek için URL şu şekilde değiştirilir: http: // localhost: 5555 / wd / hub / status

  1. Test edilen uygulamanın konumunu belirtin (İkili APK dosyası). Selendroid genellikle bu dosya için mutlak yolu gerektirdi

    Parametre: -app [dosya yolu]

    Örneğin:

    Yukarıdaki komutta Selendroid, test edilen uygulamanın bilgilerini almak için "C: \ Guru99App.apk" üzerindeki ikili dosya tabanını otomatik olarak bulur.

    Http: // localhost: 4444 / wd / hub / status URL'sini kontrol edin, bu bilgiyi göreceksiniz

  2. Selendroid'in enstrümantasyon sunucusuyla iletişim kurmak için kullandığı bağlantı noktasını değiştirin. Selendroid varsayılan olarak 8080 bağlantı noktasını kullanır

    Parametre: -selendroidServerPort [bağlantı noktası numarası]

    Misal

    Bağlantı noktası şimdi 9000 olarak değiştirildi

  3. Öykünücüleri başlatmak için zaman aşımını değiştirin. Birim milisaniyedir.

    Parametre: -timeoutEmulatorStart

    Varsayılan olarak Selendroid, emülatör başlayana kadar 300.000 milisaniye bekler. Komutla yeni zaman aşımına (200.000 ms) geçebilirsiniz

    Bu sürenin sonunda, emülatör başlayamazsa, Selendroid istisna hatasını atar (Cihaz / emülatör ararken hata oluştu) ve ardından çalışmayı durdurur.

  4. Terminalde Selendroid komutunu başlattığınızda, ekranda yazdırılmış bir oturum göreceksiniz. Aşağıdaki parametreyi ekleyerek gördüğünüz günlük türünü değiştirebilirsiniz.

    Parametre: -logLevel [günlük türü]

    Günlük seviyesi değerleri ERROR, WARNING, INFO, DEBUG ve VERBOSE şeklindedir. Varsayılan: ERROR.

    Örneğin, Selendroid'i yalnızca UYARI günlüğünü yazdıracak şekilde ayarlayın, bu komutu kullanabilirsiniz

    Selendroid yalnızca UYARI günlüğünü yazdırır

Selendroid ile ilk testinize başlayın

Bu bölüm, Selendroid kullanarak ilk test komut dosyanızı oluşturmak için adım adım bir kılavuzdur.

Guru99App test adı altında bir Android uygulamamız olduğunu varsayalım. Uygulama bir metin alanı ve bir düğme adı "Metni Göster" içerir.

APK'YI BURADAN İNDİRİN

Selendroid kullanarak aşağıdaki Test Durumunu yürütmemiz gerekiyor

Test Durumları

Durum

Beklenen çıktı:

  1. Uygulamayı başlat
  2. Metin alanına bir " Guru99 Test " metni girin
  3. "Metni Göster" düğmesine basın

Test edilen uygulamanın ikili dosyası mevcuttur

PC'ye bir cihaz bağlı

"Metin Gösterisi burada" metni, metin olarak değiştirildi

hangi kullanıcı bir metin alanına giriyor

Adım 1) Eclipse'de bir Java projesi oluşturun

Adım 2) Tutulma ortamlarında selenyum ve Selendroid kavanoz dosyası ekleyin

Guru99Test Projesi -> Yol Oluştur -> Harici Arşivler Ekle'ye sağ tıklayın

Jar dosyalarını depolayan klasöre gidin

Eklenmesi gereken 3 jar dosyası var

  • selendroid-client-0.10.0.jar: Selendroid java istemci kitaplığı
  • selendroid-bağımsız-0.11.0-bağımlılıklarla: Selendroid bağımsız sunucu kitaplığı
  • selenium-java-2.40.0.jar: Selenium Web Sürücüsü kitaplığı

Tümünü seç -> Projeye bir jar dosyası eklemek için Aç'ı seçin

Adım 3) yukarıdaki kitaplığı ekledikten sonra, bu kitaplıklar test projesinin Referans Kitaplıklarına eklenecektir. Bir test uzmanı, test programını geliştirmek için bu kitaplıkların API'lerini kullanabilir

"Com.guru.test" paketini oluşturun ve aşağıdaki gibi "Guru99Test.java" java dosyasını ekleyin

Sağ Tıklama Guru99Test -> Yeni -> Paket

Yeni Java Paketi iletişim kutusundaki Ad alanına com.guru.test yazın à Bitir

Eclipse, kaynak kod yapısında buna benzer liste klasörleri ve alt klasörler oluşturacaktır.

Adım 4) Eclipse için TestNG'yi yükleyin

Eclipse'de, Yardım -> Yeni Yazılım Kurun, Kur İletişim Kutusunda, Ekle'ye tıklayın ve aşağıdakileri girin

  • İsim: TestNG
  • Konum: http://selendroid.io/

TestNG'yi yüklemek için Tamam -> İleri'ye basın

Adım 5) Guru99App.apk dosyasını Test Uygulaması klasörüne kopyalayın

Adım 6) Test edilen bir uygulamanın kimliğini alın.

Guru99App.apk adında bir APK dosyamız olduğunu varsayalım. Önceki bölümde açıklanan adımı izleyin, terminalde komutu çalıştırın.

Aşağıdaki bağlantıyı bir tarayıcıda açın

http: // localhost: 4444 / wd / hub / status.

Aygıtın bilgileri görüntülenir, "com.guru99app: 1.0" appId değerini kopyalayın

Adım 7) Guru99Test.java dosyasını açın (örnek kodda) ve aşağıdaki gibi değiştirin

Selendroid ile yeni bir test oturumu oluşturmak için uygulama kimliğini şu biçimde sağlamanız gerekir: com.guru99app: 1.0. Bu uygulama kimliği 6. adımda tanımlanabilir. Uygulama kimliğini Android cihazla eşleşecek şekilde ayarlamazsanız, test oturumu bir hata verir ve başlamaz.

Bulunan cihazı başlattıktan sonra Selendroid, özelleştirilmiş bir selendroid sunucusu oluşturur ve üzerine Selendroid sunucusunu yükler.

Selendroid ayrıca test edilen uygulamayı yükler ve selendroid sunucusunu cihazda başlatır.

Test oturumunu başarıyla başlattıktan sonra, test komutu bir cihazda yürütülmeye başlar. (Metin girmek gibi, düğmeye basın

…). Test, test oturumunu eklerse, emülatör otomatik olarak durur

Adım 8) Yeni test oturumunu başlatın

6. adımda olduğu gibi terminalde aşağıdaki komutu kullanarak Selendroid sunucusunu başlatın.

Selendroid Sunucusu başladıktan sonra, Eclipse üzerinde Guru99test örnek test projesini açın, 77. satıra çift tıklayarak Guru99Test.java dosyasında 77. satıra bir kesme noktası ayarlayın -> Aşağıdaki gibi bir nokta görüntülenecektir

Sağ tıklayarak bir test oturumu başlatın Guru99Test projesi -> Hata Ayıkla -> Test Testi.

Aşağıdaki gibi bir test oturumu başlayacak

Adım 9) Test edilen bir uygulamanın GUI öğesinin kimliğini alın

Test oturumu başarıyla başladıktan sonra, tarayıcıyı açın, http: // localhost: 4444 / inspector URL'sine gidin.

Test Edilen Uygulamanın aşağıdaki gibi açıldığını göreceksiniz

AUT'nin (Düğme, Metin Alanı, Metin Etiketi) her UI öğesine fareyle gelindiğinde, her öğenin kimliği sağ bölmede vurgulanır

Bu adımdan sonra, yukarıdaki her bir UI öğesinin kimliğini alabilirsiniz.

  • Düğme Göster Metin Kimliği: " btnShow "
  • Metin Alanı Kimliği: " edtText "
  • Etiket Metin Kimliği: " txtView "

Bu kimlikler sonraki adımda kullanılacak

Adım 10) Test programına aşağıdaki gibi girin

Selendroid kullanan bir test programı 3 bölüm içerir

Kurulum Testi:

Kurulum testi kodu aşağıdadır, bir test oturumu için koşulu ayarlayacaktır.Bir hata durumunda Selendroid istisnayı atacak ve test uygulaması duracaktır.

Kod, her bir ifadeyi açıklayan yorumları içerir.

paket com.guru.test;io.selendroid.SelendroidCapabilities'i içe aktarın;io.selendroid.SelendroidConfiguration'ı içe aktar;ithal io.selendroid.SelendroidDriver;io.selendroid.SelendroidLauncher'ı içe aktar;io.selendroid.device.DeviceTargetPlatform'u içe aktar;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.testng.Assert;import org.testng.annotations.AfterSuite;import org.testng.annotations.BeforeSuite;import org.testng.annotations.Test;/ *** Selendroid kullanarak @author Guru99 Test Uygulaması* Test edilen uygulama: Guru99App** /halka açıkclass Guru99Test {// Web sürücüsü değişkenini bildirinözel WebDriver sürücüsü;/ *** Test etmeden önce ortamı ayarlayın* @throws Exception* /@Evleneceksenhalka açıkvoid setUp (), Exception {// Test sırasında selendroid bağımsız başlatSelendroidConfiguration config = new SelendroidConfiguration ();// selendroid-test uygulamasını bağımsız sunucuya ekleyinconfig.addSupportedApp ("Guru99App.apk");// bağımsız sunucuyu başlatSelendroidLauncher selendroidServer = yeni SelendroidLauncher (yapılandırma);selendroidServer.launchSelendroid ();// Selendroid yeteneklerini oluşturunSelendroidCapabilities capa = yeni SelendroidCapabilities ();// Selendroid'in test uygulamasını kullanmayı belirtincapa.setAut ("com.guru99app: 1.0");// Android cihaz API 19'u kullanmayı belirtincapa.setPlatformVersion (DeviceTargetPlatform.ANDROID19);// Simülatör istemeyin, gerçek cihaz kullanıncapa.setEmulator (false);//capa.wait(10000000);// Selendroid Sürücüsünün örneğini oluşturunsürücü = yeni SelendroidDriver (çapa);}

Testi Yürüt

Aşağıda bir testi yürütmek için kod bulunmaktadır. Kod, yorumları içerir

İşte yine test adımları

  1. "Merhaba Guru" metnini girin
  2. Metin Düğmesini Göster'i tıklayın
  3. Bir süre bekleyin
  4. Kullanıcı bir metin alanına girerken uygulamanın metni görüntülediğini doğrulayın (Ör. "Merhaba Guru" metnini görüntüleyin)
 / *** Test durumunu yürütmeye başlayın* 01. Metin alanına "Selendroid" metnini girin* 02. OK düğmesine basın* @throws Exception* /@Ölçekhalka açıkvoid selendroidTest () Exception {// Günlüğü yazdırSystem.out.print ("Testi yürütmeye başla");// Ekrandaki giriş metin alanını bulun// Bu metin alanının kimliği 9. adımdan alınmıştırWebElement inputField = sürücü.findElement (By.id ("edtText"));// Kullanıcının metin girebilmesi için metin alanının etkinleştirildiğini doğrulayınAssert.assertEquals ("true", inputField.getAttribute ("etkin"));// Metin alanına bir metin girininputField.sendKeys ("Merhaba Guru");// Metni Göster düğmesini tıklayın// Bu düğmenin kimliği 9. adımdan alınmıştırWebElement düğmesi = driver.findElement (By.id ("btnShow"));button.click ();// Etkili olması için gecikme süresiThread.sleep (5000);// Ekranda "Burada Metin Göster" etiketini bulun// Bu etiketin kimliği 9. adımdan alınmıştırWebElement txtView = driver.findElement (By.id ("txtView"));// Metin görüntüsünü ekrana getirinDize beklenen = txtView.getText ();// Kullanıcının metin alanına girdiği metnin ekrandaki metinle aynı olduğunu doğrulayınAssert.assertEquals (beklenen, inputField.getText ());}

Testi Bitir

Aşağıdaki kod, Selendroid sürücüsünü durdurarak testi tamamlayacaktır.

 / *** Selendroid sürücüsünü durdurun** /@Kafadergisihalka açıkvoid tearDown () {driver.quit ();}

Ayrıntıları bu makalede yer alan örnek kodda görebilirsiniz.

Adım 10) Android cihazı USB kablosuyla PC'ye bağlayın. Dikkat edilecek noktalar -

  • Lütfen cihazda yapılandırılmış ekran kilidi olmadığından emin olun.
  • Aygıtlar, selendroid bağımsız bileşeninin çalıştığı bilgisayara USB aracılığıyla takılmalıdır.
  • Cihaz en az Android Target Version API 10'u yüklemelidir

Adım 11) Test Uygulamasını çalıştırın: Guru99test -> Farklı Çalıştır -> TestNG testini sağ tıklayın

Adım 10) Komut dosyası aşağıdaki gibi çalıştırılır

Adım 12) Test yürütmeyi bitirdikten sonra, TestNG aşağıdaki gibi test raporunu otomatik olarak oluşturur

Aferin sana testi şimdi bitirdin.

Özet

Özet

  • Selendroid, Android yerel uygulamasını, hibrit uygulamayı ve web uygulamasını test etmek için çok güçlü bir araçtır.
  • Simülatörün yanı sıra gerçek cihazlarda da kullanılabilir.
  • Ayrıca, birden çok cihazda bir test çalıştırarak testleri paralel olarak çalıştırmanıza da olanak tanır.
  • Tüm Selendroid paketi dört bileşenden oluşur:
    • Web Sürücüsü istemcisi,
    • Selendroid-Sunucu,
    • Android Sürücü Uygulaması
    • Selendroid tek başına
  • Selendroid'i kullanmak için Java JDK, Android SDK ve Eclipse yüklü olmalıdır.