Selendroid Yeni Başlayanlar İçin Örneklerle Öğretici
Hiç geliştirdin mi? Android uygulamayı yayınla Google Oynatmak mı? Eğer şöyle bir kullanıcı yorumu alırsanız ne yapacaksınız?
Bir uygulamayı yayınladığınızda Google Uygulamaların potansiyel hatalardan kaçınabilmesi için iyice test edilmesi gerekir. Bir uygulamayı yayınlamadan önce yürütülmesi gereken çok sayıda test senaryosu vardır. Bunu sağlamak 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 hem de melez Android uygulama ve hareketli ağ.
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
Neden ihtiyacımız var Selendroid?
Selendroid harika bir test aracıdır. Ancak yine de yararlılığından şüphe duyabilirsiniz.
Bu bölümde programın önemli özellikleri tanıtılacaktır. Selendroid neden ihtiyacın olduğu sorusunu cevaplamak için 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 yeniden başlatmaya veya durdurmaya gerek kalmadan donanım aygıtlarını (takıp çıkararak) değiştirebilirsiniz.ping test. 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 4 ana bileşen içerir:
- 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
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)
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ı
) 2 Adım Sistem Özellikleri penceresi görüntüsü, Gelişmiş sekmesini seçin -> Ortam Değişkenleri
) 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
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
ANDROID_HOME'a benzer şekilde, aşağıdaki değere sahip yeni JAVA_HOME değişkenini ekleyin
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 ve klasöre git Guru1. adımda 99 adet oluşturuldu.
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ş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ün yanı sıra cihaz bilgilerini de kullanarak aşağıdakileri başlatabilirsiniz. URL Bir tarayıcıda: http://localhost:4444/wd/hub/status.
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ı
- 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:
Yukarıdaki komutta 5555 yeni porttur.
Böylece URL kontrol etmek için Android hedef sürüm şu şekilde değiştirildi: http://localhost:5555/wd/hub/status
- Test edilen uygulamanın konumunu belirtin (İkili APK dosyası). Selendroid genellikle bu dosya için mutlak yol gerekiyordu
Parametre: -app [dosya yolu]
Örneğin:
Yukarıdaki komutta, Selendroid "C:\" dizinine göre ikili dosyayı otomatik olarak bulGuruTest edilen uygulamanın bilgilerini almak için "99App.apk" dosyasını açın.
kontrol URL
http://localhost:4444/wd/hub/status, bu bilgiyi göreceksiniz - 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
Bağlantı noktası şimdi 9000 olarak değiştirildi
- 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.
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
- 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.
MKS 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 test edilen uygulama adı Guru99App. Uygulama, bir metin alanı ve "Metni Göster" adlı bir düğme içermektedir.
Aşağıdakileri uygulamamız gerekiyor Test Durumu kullanma Selendroid
| Test Durumları | Şart | Beklenen çıktı |
|---|---|---|
|
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ı
Sağ tıklatın Guru99Test Projesi -> Yol Oluştur -> Harici Ekle Archives
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
) 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 içine “ Java dosyasını ekleyin.Guru99Test.java” aşağıdaki gibi
Sağ tıklayın Guru99 testi -> Yeni -> paket
Yeni'deki Ad alanına com.guru.test yazın Java Paket iletişim kutusu à Son
MKS Eclipse kaynak kod yapısında bunun gibi liste klasörleri ve alt klasörler oluşturacak
) 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
- Adınız: TestNG
- Lokasyon: https://github.com/selendroid/selendroid
Tamam'a basın -> Kurulumun yanında TestNG
) 5 Adım Kopya Guru99App.apk dosyasını Test Uygulaması klasörüne taşıyın.
) 6 Adım Test edilen bir uygulamanın kimliğini alın.
Diyelim ki elimizde bir APK dosya adı var. Guru99App.apk. Önceki bölümde açıklanan adımları izleyin ve terminalde komutu çalıştırın.
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
) 7 Adım Dosyayı açın GuruÖrnek koddaki 99Test.java dosyasını aşağıdaki gibi değiştirin.
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
Sonra Selendroid Sunucu başlatıldı, örnek test projesini açın. Guru99test on EclipseDosyanın 77. satırına bir kesme noktası koyun. Guru99Test.java dosyasını çift tıklayarak 77. satıra gidin. -> Aşağıdaki gibi bir nokta görüntülenecektir
Test oturumunu başlatmak için sağ tıklayın. Guru99Test projesi -> Farklı Hata Ayıklama -> Test Testi.
Aşağıdaki gibi bir test oturumu başlayacak
) 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 ve şu adrese gidin: URL http://localhost:4444/inspector
Test Edilen Uygulamanın aşağıdaki gibi başlatıldığını göreceksiniz.
AUT'un her bir UI öğesine (Düğme, TextField, Metin Etiketi) fareyle gelindiğinde gelin; her öğenin kimliği sağ bölmede vurgulanacaktır
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ı
- "Merhaba" metnini girin. Gurubaşlıklı bir kılavuz yayınladı
- Metni Göster Düğmesini tıklayın
- Bir süre bekleyin
- Uygulamanın, kullanıcının metin alanına girdiği metni görüntülediğini doğrulayın (Örnek: "Merhaba" metnini görüntüle). Guru")
/**
* 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.ping the 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: Sağ tıklayın Guru99testi -> Olarak çalıştırmak -> TestNG test
) 10 Adım Komut dosyası aşağıdaki gibi çalıştırılmaya başlar
) 12 Adım Testin yürütülmesi tamamlandıktan sonra, TestNG test raporunu aşağıdaki gibi otomatik olarak oluşturur
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ü.


































