Selendroid Yeni Başlayanlar İçin Örneklerle Öğretici

Hiç geliştirdin mi? Android uygulama ve Google Play'de yayınlansın mı? Aşağıdaki gibi bir kullanıcı incelemesi alırsanız ne yapacaksınız?

Selendroid Klavuz

Bir uygulamayı Google Play'de yayınladığınızda olası hataları önlemek için uygulamanın iyi bir şekilde test edilmesi gerekir. Bir uygulamayı yayınlamadan önce yürütülmesi gereken tonlarca test senaryosu vardır. Kaydetmek için Test yapmak çaba için bir test aracına ihtiyacınız var. için en iyi test araçlarından biri Android uygulama Selendroid.

Nedir? Selendroid?

Selendroid çok türde mobil uygulama için bir test otomasyon çerçevesidir: yerli ve melez Android uygulama ve hareketli ağ.

Nedir? Selendroid

Testleri kullanarak yazabilirsiniz. Selenium 2 istemci API'si. Çünkü Selendroid mevcut olanı hala yeniden kullanıyor Selenium web için altyapı

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

Nedir? Selendroid

Neden ihtiyacımız var Selendroid?

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

Neden ihtiyacımız var Selendroid

Bu bölümde programın önemli özellikleri tanıtılacaktır. Selendroid neden ihtiyacın olduğu sorusunu cevaplamak için Selendroid.

Neden ihtiyacımız var Selendroid

  • Test altındaki uygulamayı kullanarak test edebilirsiniz. Selendroid uygulamada herhangi bir değişiklik yapılmadan. Sadece ikili dosyaya ihtiyacınız var (APK) bilgisayarda yüklü. İkili dosyayı cihaza yüklemek için test uygulaması ve mobil uygulamanın aynı işaret anahtarıyla imzalanması gerekir.
  • Selendroid test uygulaması birden fazla cihaz veya simülatörle aynı anda etkileşime girebilir. Bu harika bir avantajdır Selendroid. Böylece uygulamanızı çeşitli uygulamalarla test edebilirsiniz. Android Uyumluluğu kontrol etmek için cihazlar.
  • Selendroid Cihazlarda dokunma, kaydırma, sürükleme ve bırakma gibi bir uygulamadaki insan-kullanıcı eylemlerini simüle edebilir
  • Test sırasında testi yeniden başlatmadan veya durdurmadan donanım cihazlarını (Tak ve çıkar) değiştirebilirsiniz. Selendroid yeni cihazları otomatik olarak tanır
  • karşılık gelen Android API sürümü güncel, Selendroid aynı zamanda yeniyi de destekliyor Android API (API 10'dan API 19'a)
  • Selendroid ayrıca test edilen bir uygulamanın kullanıcı arayüzü öğesini tanımlamanıza yardımcı olacak bazı yerleşik inceleme araçlarına da sahiptir. Örneğin kimlik düğmesi, metin alanı, metin görünümü…

Selendroid Archidoku

Selendroid dayanmaktadır Android enstrümantasyon çerçevesi. Selendroid testler temel alınarak yazılır Selenium Web sürücüsü istemci API'si, mevcut sürümle tam entegrasyonu destekler Selenium çerçeveler.

Aşağıdaki şekil mimariyi açıklamaktadır Selendroid

Selendroid Archidoku

Selendroid 4 ana bileşen içerir:

Selendroid Archidoku

  • Web Sürücüsü İstemcisi – Java dayalı istemci kütüphanesi Selenium. Bu kütüphane bilgisayara kurulmalıdır (test senaryolarını geliştirmek için kullanılır)
  • Selendroid-Sunucu – Test edilen uygulamada çalışan sunucu Android cihaz veya simülatör. Bu bir sistemin ana bileşenleridir Selendroid mimari
  • Android Sürücü Uygulaması – Yerleşik Android mobil web'i test etmek için sürücü, Web Görünümü uygulaması.
  • Selendroid-Bağımsız – Bu bileşen, Selendroid sunucu ve test edilen uygulama (AUT)

Birlikte başlamak Selendroid

önemini zaten biliyordunuz. Selendroid. Şimdi ellerimizi kirletelim Selendroid.

İlk testten önce yapılması gereken 3 adım var Selendroid

Birlikte başlamak Selendroid

Kurmak Selendroid çevre

Selendroid Pencere üzerinde çalışabilir, Linux ve Mac OS'ta. Bu eğitimde, kurulumunu yapacağız Selendroid Windows işletim sisteminde.

Kullanmadan önce Selendroid, öncelikle aşağıdaki paketi yüklemeniz gerekiyor

  • Java SDK (minimum 1.6)

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

    Kurmak Selendroid çevre

    Indirin ve yükleyin Java Normal yazılım olarak SDK

  • Son sürümü Android SDK
  • Bilgisayarınızda en az bir tane bulunmalıdır Android Sanal Cihaz (AVD) veya gerçek Android cihaz PC'ye takılı.
  • Selendroid Bağımlılıklarla bağımsız, Selendroid Müşteri, ve Selenium Müşteri
  • Eclipse yazılım
  • JAVA_HOME ve ANDROID_HOME'u kurun

    ) 1 Adım Pencerede Bilgisayar'a sağ tıklayın -> Emlaklar -> Gelişmiş sistem ayarı

    Kurmak Selendroid çevre

    ) 2 Adım Sistem Özellikleri penceresi görüntüsü, Gelişmiş sekmesini seçin -> Ortam Değişkenleri

    Kurmak Selendroid çevre

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

    Kurmak Selendroid çevre

    Değişken değeri, önceden yüklediğiniz Android SDK'ların yoludur.

    Sistem değişkeni Path'i bulun -> Düzenle -> Mevcut satırdan sonra aşağıdaki satırı ekleyin

    Kurmak Selendroid çevre

    Kurmak Selendroid çevre

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

    Kurmak Selendroid çevre

    Değer, size giden yoldur Java JDK kurulumu

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

nasıl başlatılır Selendroid

Adım 1) Bir uygulamayı teste tabi tutmak

Mevcut olanı kullanabilirsiniz Selendroid nasıl olduğunu kontrol etmek için uygulamayı test edin Selendroid İşler (Link test edilen uygulamayı örneklendirmek için)

İndirme işlemi tamamlandıktan sonra bu APK'yı ve yukarıdakileri kopyalayın Selendroid Bağımsız kavanoz dosyayı “adlı bir klasöre kopyalayın”Guru99″

Adım 2) Başlatın Selendroid

Terminali aç Windows & 99. adımda oluşturulan Guru1 klasörüne gidin.

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

Başlatmak Selendroid

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

Başlatmak Selendroid

Bu komutu çalıştırdıktan sonra, Selendroid-bağımsız HTTP sunucusu başlıyor! Bu sunucunun varsayılan port numarası 4444'tür. Tüm donanım aygıtlarının yanı sıra Android Sanal Cihaz otomatik olarak taranacak ve tanınacaktır. Selendroid tanımlayacak Android hedef sürüm ve cihaz ekran boyutu.

Kontrol etmek için Android Hedef sürüm ve cihaz bilgilerinin yanı sıra, tarayıcıda aşağıdaki URL'yi başlatabilirsiniz: http://localhost:4444/wd/hub/status.

Başlatmak Selendroid

Selendroid temel komut

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

  1. Bağlantı noktasının ayarlanması Selendroid

    Varsayılan bağlantı noktası Selendroid 4444'tür. Ancak başlatma komutuna bir parametre ekleyerek diğer bağlantı noktasına geçebilirsiniz. Selendroid

    Parametre: -port [Port numarası]

    Örneğin:

    Selendroid Temel Komut

    Yukarıdaki komutta 5555 yeni porttur.

Yani kontrol edilecek URL Android hedef sürüm şu şekilde değiştirildi: http://localhost:5555/wd/hub/status

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

    Parametre: -app [dosya yolu]

    Örneğin:

    Selendroid Temel Komut

    Yukarıdaki komutta, Selendroid Test edilen uygulamanın bilgilerini almak için “C:\Guru99App.apk” üzerindeki ikili dosya tabanını otomatik olarak bulun.

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

    Selendroid Temel Komut

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

    Parametre: -selendroidServerPort [Port numarası]

    Örnek E-posta

    Selendroid Temel Komut

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

  3. Emülatörleri başlatmak için zaman aşımını değiştirin. Birimi milisaniyedir.

    Parametre: -timeoutEmulatorStart

    Varsayılan olarak, Selendroid öykünücü başlayana kadar 300,000 milisaniye bekleyecektir. Komutu kullanarak yeni zaman aşımına (200,000 ms) geçebilirsiniz.

    Selendroid Temel Komut

    Bu sürenin sonunda emülatör başlatılamazsa, Selendroid istisna hatası verecek (Cihazlar/emülatörler aranırken hata oluştu.) ve ardından çalışmayı durduracak

  4. Başladığınız zaman Selendroid terminalde komut, ekranda yazdırılmış bir günlük 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 düzeyi değerleri HATA, UYARI, BİLGİ, HATA AYIKLAMA ve VERBOSE'dur. Varsayılan: HATA.

    Örneğin, ayarla Selendroid Yalnızca UYARI günlüğünü yazdırmak için bu komutu kullanabilirsiniz.

    Selendroid Temel Komut

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

İlk testinize şununla başlayın: Selendroid

Bu bölüm, kullanarak ilk test komut dosyanızı oluşturmaya yönelik adım adım bir kılavuzdur. Selendroid

Diyelim ki elimizde bir Android Guru99App test adı altında uygulama. Uygulama bir metin alanı ve “Metni Göster” düğme adını içerir.

APK'YI BURADAN İNDİRİN

İle İlk Test Selendroid

Aşağıdakileri uygulamamız gerekiyor Test Durumu kullanma Selendroid

Test Durumları Şart Beklenen çıktı
  1. Uygulamayı başlat
  2. Bir metin girin "Guru99 Testi” metin alanına
  3. “Metni Göster” düğmesine basın
Test edilen uygulamanın ikili dosyası mevcut

PC'ye bir cihaz bağlı

“Burada Metin Gösterimi” metni metin olarak değiştirildi

metin alanına hangi kullanıcının girdiği

) 1 Adım Hat için bir Java projede Eclipse

) 2 Adım Selenyum ekleyin ve Selendroid Eclipse ortamlarında jar dosyası

Guru99Test Projesi'ne sağ tıklayın -> Yol Oluştur -> Harici Ekle Archives

İle İlk Test Selendroid

Jar dosyalarının saklandığı klasöre gidin

Eklenmesi gereken 3 jar dosyası var

  • selendroid-istemci-0.10.0.jar : Selendroid java istemci kütüphanesi
  • selendroid-standalone-0.11.0-bağımlılıklarla-birlikte: Selendroid bağımsız sunucu kitaplığı
  • selenyum-java-2.40.0.jar : Selenium Web Sürücüsü kütüphanesi

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

İle İlk Test Selendroid

) 3 Adım Yukarıdaki kütüphane eklendikten sonra bu kütüphaneler test projesinin Referans Kütüphanelerine 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

Guru99Test'e Sağ Tıklayın -> yeni -> paket

İle İlk Test Selendroid

Yeni'deki Ad alanına com.guru.test yazın Java Paket iletişim kutusu à Son

İle İlk Test Selendroid

The Eclipse kaynak kod yapısında bunun gibi liste klasörleri ve alt klasörler oluşturacak

İle İlk Test Selendroid

) 4 Adım kurmak TestNG için Eclipse

In Eclipse, Yardım -> Yeni Yazılım Yükle, Yükle İletişim Kutusunda Ekle'ye tıklayın ve aşağıdakileri girin

Tamam'a basın -> Kurulumun yanında TestNG

İle İlk Test Selendroid

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

İle İlk Test Selendroid

) 6 Adım 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 anlatılan adımı takip edin, komutu terminalde çalıştırın.

İle İlk Test Selendroid

Aşağıdaki bağlantıyı bir tarayıcıda açın: http://localhost:4444/wd/hub/status.

Cihazın bilgileri görüntülenir, “com.guru99app:1.0” appId değerini kopyalayın

İle İlk Test Selendroid

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

İle İlk Test Selendroid

Yeni bir test oturumu oluşturmak için Selendroiduygulama 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 eşleşen uygulama kimliğiyle ayarlamazsanız Android cihaz, test oturumu bir hata verecek ve başlamayacaktır.

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

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

Test oturumu başarıyla başlatıldıktan sonra test komutu cihazda yürütülmeye başlar. (Metin girmek gibi, tuşuna basmak…). Test, test oturumunu eklerse emülatör otomatik olarak duracaktır.

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

Başlatın Selendroid 6. adımdaki gibi terminalde aşağıdaki komutu kullanarak sunucu

İle İlk Test Selendroid

Sonra Selendroid Sunucu başlatıldı, Guru99test örnek test projesini açın Eclipse, Guru77Test.java dosyasının 99. satırına çift tıklayarak 77. satırda bir kesme noktası ayarlayın -> Aşağıdaki gibi bir nokta görüntülenecektir

İle İlk Test Selendroid

Guru99Test projesine sağ tıklayarak bir test oturumu başlatın -> Farklı Hata Ayıklama -> Test Testi.

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

İle İlk Test Selendroid

) 9 Adım 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, URL'ye gidin http://localhost:4444/inspector

Test Edilen Uygulamanın aşağıdaki gibi başlatıldığını göreceksiniz.

İle İlk Test Selendroid

AUT'un her bir UI öğesine (Düğme, TextField, Metin Etiketi) fareyle gelindiğinde gelin; her öğenin kimliği sağ bölmede vurgulanacaktır

İle İlk Test Selendroid

Bu adımdan sonra yukarıdaki her bir kullanıcı arayüzü öğesinin kimliğini alabilirsiniz.

  • Düğme Metin Kimliğini Göster: “btnGöster"
  • Metin Alanı Kimliği: “edtText"
  • Etiket Metin Kimliği: “txt Görünümü"

Bu kimlikler bir sonraki adımda kullanılacak

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

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

Kurulum Testi:

Aşağıda test kurulumu için kod bulunmaktadır, bu 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.

package com.guru.test;
		
 import io.selendroid.SelendroidCapabilities;
		import io.selendroid.SelendroidConfiguration;
		import io.selendroid.SelendroidDriver;
		import io.selendroid.SelendroidLauncher;
		import io.selendroid.device.DeviceTargetPlatform;
		
		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;
		
 /**
		 * @author Guru99 Test App using Selendroid
			 * Application under test: Guru99App
		 *
		 */
		public
				class Guru99Test {
				
				     //Declare web driver variable
		    private WebDriver driver;
					   
   
		    /**
		     * Setup the environment before testing
		     * @throws Exception
			     */
		    @BeforeSuite
		    public
					void setUp() throws Exception {
							
        //Start selendroid-standalone during test
		        SelendroidConfiguration config = new SelendroidConfiguration();
			        
		      // Add the selendroid-test-app to the standalone server
		        config.addSupportedApp("Guru99App.apk");
			        
                 
		        //start the standalone server
		        SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
			        selendroidServer.launchSelendroid();
		        
		       // Create the selendroid capabilities
		        SelendroidCapabilities capa = new SelendroidCapabilities();
			        
        
		       // Specify to use selendroid's test app
		        capa.setAut("com.guru99app:1.0");
			       
		       // Specify to use the Android device API 19
		        capa.setPlatformVersion(DeviceTargetPlatform.ANDROID19);
			        
		        // Don't request simulator, use real device
		        capa.setEmulator(false);
			        
         
		        //capa.wait(10000000);
		        
		        // Create instance of Selendroid Driver
		        driver = new SelendroidDriver(capa);
					       
		    }
		

Testi Yürüt

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

İşte yine test adımları

  1. “Merhaba Guru” metnini girin
  2. Metni Göster Düğmesini tıklayın
  3. Bir süre bekleyin
  4. Kullanıcı bir metin alanına girdiğinde uygulamanın metni görüntülediğini doğrulayın (Örn. "Merhaba Guru" metnini görüntüleyin)
 /**
		     * Start execute the test case
		     * 01. Enter the text "Selendroid" to the textfield
		     * 02. Press OK button
		     * @throws Exception
			     */
		    @Test
		    public
					void selendroidTest() throws Exception {
							        
		        // Print the log 
		        System.out.print("Start executing test");
					        
		        // Find the input text field on screen
        // The id of this text field was get from step 9
		        WebElement inputField = driver.findElement(By.id("edtText"));
					        
		        // Verify that the text field enabled so user can enter text
		        Assert.assertEquals("true", inputField.getAttribute("enabled"));
					        
		        // Enter a text to text field
		        inputField.sendKeys("Hello Guru");        
			
         // click Show Text button
        // The id of this button was get from step 9
		        WebElement button = driver.findElement(By.id("btnShow"));
					        button.click();
		        
		        // Delay time to take effect
		        Thread.sleep(5000);
		        
		        //Find the label "Text Show Here" on screen
        // The id of this label was get from step 9
		        WebElement txtView = driver.findElement(By.id("txtView"));
					        
		        //Get the text display on screen
		        String expected = txtView.getText();
		        
		// Verify that the text which user enter on text field is same as text display on screen
		        Assert.assertEquals(expected, inputField.getText());        
		
     }

Testi Bitir

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

 /**
		     * Stop the Selendroid driver
		     * 
		     */
		    @AfterSuite
		    public
					void tearDown() {
					        driver.quit();
			    }

Bu makalede yer alan örnek kodda ayrıntıyı görebilirsiniz.

) 10 Adım Bağlantı Kurun Android cihazı USB kablosuyla PC'ye bağlayın. Gözlemlenecek noktalar –

  • Lütfen cihazda yapılandırılmış bir ekran kilidi olmadığından emin olun.
  • Cihazların, selendroid bağımsız bileşeninin çalıştığı bilgisayara USB yoluyla bağlanması gerekir.
  • Cihaz en azından kurulmalıdır Android Target Sürüm API'si 10

) 11 Adım Test Uygulamasını çalıştırın: Guru99test'e sağ tıklayın -> Olarak çalıştırmak -> TestNG test

İle İlk Test Selendroid

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

İle İlk Test Selendroid

) 12 Adım Testin yürütülmesi tamamlandıktan sonra, TestNG test raporunu aşağıdaki gibi otomatik olarak oluşturur

İle İlk Test Selendroid

İle İlk Test Selendroid

Aferin, artık testi tamamladın.

ÖZET

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