uiautomatorviewer tutorial
Bu Eğitim UIAutomator'ın Nasıl İndirileceğini, Kurulacağını ve Yapılandırılacağını ve UIAutomatorViewer'ın Android Uygulamasında Öğeyi incelemek için nasıl kullanılacağını açıklar:
Google, kendi Android test otomasyon araçlarını sağlamıştır ve UIAutomatorviewer bunlardan biridir. Selenium hakkında bir fikriniz varsa, UIAutomator'ı anlamanız sizin için kolay olacaktır.
Bu eğitim, kurulumu, yapılandırması, bileşenleri, komutları, örnek test programı ve bazı sık sorulan SSS'lerin yanı sıra size UIAutomator hakkında ayrıntılı bir açıklama verecektir.
Hadi keşfedelim!!
osi modelinin hangi katmanı sinyaller, bitler, kablolar ve konektörler gibi şeyler için kullanılır?
Ne öğreneceksin:
UIAutomatorViewer nedir?
UIAutomatorViewer, Android SDK yöneticisinin bir parçası olarak gelir ve bir Android uygulamasının UI öğelerini incelememize yardımcı olan bir UI denetleyici GUI (grafik kullanıcı arayüzü) aracıdır.
Uygulamayı otomatikleştirmek için kaynak kimlikleri, sınıf, bir Android uygulama bileşeninin metni gibi yer belirleyicilere ihtiyacımız olduğundan, bir uygulamanın incelenmesi önemlidir.
Mevcut ekranın bir XML ekran görüntüsü UIAutomatorViewer tarafından alınacaktır. Ekrandaki herhangi bir öğeye tıklayarak, temsil etmek için kullanılan sınıfı, ekrandaki öğeyi ve aracın sağ tarafında listelenen tüm özellikleri öğrenebiliriz.
Nesne hiyerarşisi, tanımlandıkları nesnelerin düzenidir. Örneğin ,bir sınıf, başka bir sınıfın çocuğudur. Aletin sağ üst kısmına yerleştirilir.
UIAutomator'ı kullanarak Android uygulamaları için otomasyon test senaryoları yazabilirsiniz. Bu testler uygulamanın UI katmanında yapılacaktır. Bir test cihazının yaptığı her eylemi manuel olarak simüle edebilirsiniz, Örneğin , giriş doğrulanıyor.
Kurulum
Bu aracı iki şekilde kurabilirsiniz.
# 1) Android Studio
Android uygulama testi / geliştirmeyle sık sık çalışıyorsanız, Android Studio'yu yükleyebilirsiniz.
Tüm Derleme, platform ve SDK araçlarına sahiptir. Yani Android Studio'yu kurarak, tüm araçları onunla birlikte alacaksınız. Yalnızca iyi bir dizüstü bilgisayarınız / PC'niz varsa Android Studio'ya gitmeniz önerilir. Çünkü PC'nizde önemli miktarda RAM alır ve tüm gereksinimleri indirmek ve kurmak için 4-5GB veriye ihtiyaç duyar. Ancak her şeyi tek bir tıklama ile alacaksınız.
# 2) Yalnızca Komut Satırı Araçları
Yalnızca testle ilgili araçlara ihtiyacınız varsa, yalnızca Android SDK yöneticisini indirebilirsiniz.
Bu eğitimde, ilk yöntem oldukça basit olduğu için ikinci yöntemi takip ediyoruz.
Bunu aç URL ve başlığa kadar aşağı kaydırın Yalnızca komut satırı araçları, ardından makinenizin işletim sistemine göre uygun indirme dosyası bağlantısına tıklayın. Referans için aşağıdaki ekran görüntüsüne bakın.
Bir programı çalıştırmak için Android SDK araçlarına, Platform araçlarına, Platformlara ve Derleme araçlarına ihtiyacımız var.
- Açık araçlar ve tıklayın platform araçları dosyaları bağlayın ve indirin.
- AndroidSDK adlı bir klasör oluşturun ve indirilen araçları ve platform araçlarını buradan çıkarın.
- Araçların içinde bir android.bat klasörüne tıklayın, bat dosyasını tıklayın veya çalıştırın; Android SDK Yöneticisi penceresi görüntülenecektir. Gerekli platform sürümünü seçin, Örneğin, Android 25 ile ilgili ve kur'a tıklayın. Android API'nin gerekli sürümü için platformlar seçmeniz ve araçlar oluşturmanız gerekir.
- Hüküm ve koşulları kabul edin. Platformları indirin ve kurun ve araçlar oluşturun. Gerekli tüm dosyaların AndroidSDK klasörünün altında olduğundan emin olun.
Android SDK ile birlikte, aşağıda belirtildiği gibi başlamak için birkaç şeye daha ihtiyacımız var.
Karınca Aracı:
Apache aracı, yazılı bir kodu derlemek ve oluşturmak için kullanılacaktır. Ant aracını kullanarak, bir Java Arşiv dosyası olan bir JAR dosyası oluşturabiliriz. Jar dosyasını kullanarak otomasyon paketi / test senaryoları yürütülecektir.
=> Apache ant'ı yükleyin İşte
Eclipse IDE ve Java:
Kodumuzu ve Java yazılımımızı bilgisayarınızda oluşturmak için Eclipse IDE ve düzenleyicisine sahip olmanız gerektiğini umuyoruz. Değilse, lütfen en son Eclipse sürümünü şuradan yükleyin: İşte
Otomasyon test senaryolarımızı yazmak için bir dile ihtiyacımız var ve testlerimizi otomatikleştirmek için Java kullanıyoruz.
= > Java'yı yükleyin İşte
Yapılandırma
Yapmamız gereken bir sonraki şey, SDK yöneticisi için bir ortam değişkeni eklemektir. Bu aracı ortam değişkenini de eklemeden kullanabilirsiniz, ancak sorun sistemde her yerde kullanamamanızdır.
Ona yalnızca yüklediğiniz klasörün içinden erişebileceksiniz. Bu nedenle, SDK'nın her yerden erişmesi için ortam değişkenleri eklememiz daha iyi olur. Şimdi Ant, Android SDK ve Java için ortam değişkenleri oluşturun. Hepsini yol değişkenine ekleyin.
Bunu yapmak için şuraya gidin: Sistem -> Gelişmiş Sistem ayarları -> Gelişmiş sekmesi -> Ortam değişkenleri -> Yeni'ye tıklayın Sistem değişkenleri bölümünde. Bu navigasyon sistemden sisteme farklılık gösterebilir.
Yollar için örnek sistem değişkeni:
ANDROID_HOME: F: Çalışma Alanı SDK
ANT_HOME: C: apache-ant-1.10.5
JAVA_HOME: C: Program Dosyaları Java jdk1.8.0_111
Şimdi tüm bu sistem değişkenlerini aşağıdaki örnekte gösterildiği gibi yola ekleyin.
% ANDROID_HOME%;% ANT_HOME%;% JAVA_HOME%
I vur Uygulamak düğmesi ve ardından TAMAM MI buton.
Şimdi tüm kurulum hazırız.
Kodumuza başlamadan önce, öncelikle Android cihazın üzerinde testler yapmaya hazır olduğundan emin olmamız gerekiyor. Bunun için henüz etkinleştirilmemişse Geliştirici seçeneklerini etkinleştirmemiz gerekiyor.
Android'de Geliştirici seçeneklerini etkinleştirme:
- Telefon ayarlarını açın ve şuraya gidin: 'Sistem' ve sonra 'Telefon hakkında' Bölüm.
- Orada bulacaksın 'Yapı numarası' .
- Beş kez Yapı numarasına dokunun.
- Geliştirici seçeneği etkinleştirilecek ve bunu şurada görebilirsiniz: 'Sistem' .
- Geliştirici seçeneklerini açın ve etkinleştirin 'USB hata ayıklama' ve 'Uygulamaları USB üzerinden doğrulayın' .
Android'de UI Öğeleri Nasıl İncelenir
Herhangi bir yerde komut istemini açın ve uiautomatorviewer komutunu girin. Komutta boşluk olmadığını ve sadece tek bir kelime olduğunu unutmayın. SDK'yı doğru şekilde yapılandırdıysanız, bir UIAutomator penceresi açılacaktır. Aksi takdirde lütfen kurulum ve konfigürasyonun doğru yapılıp yapılmadığını kontrol edin.
Daire içine alınmış her bir öğenin kullanımını tek tek görelim.
# 1) En üstteki şeritte soldan sağa ikinci simgeye, yani ekran görüntüsü simgesine tıklayın. Gösterilen resimde kırmızı ile daire içine alınmış olan olarak işaretlenmiştir.
#iki) Gelecekteki amaçlar için geçerli ekran görüntüsünün yanı sıra UI döküm dosyasını kaydedebilirsiniz. Kaydedilen dosyalar, üstteki klasör simgesi kullanılarak açılabilir.
# 3) Bu bölüm, UI hiyerarşisiyle ilgili tüm bilgileri içerir. Sağlanan arama kutusunu kullanarak arama yapabilirsiniz. Hiyerarşiyi genişletin / daraltın. Yukarı ve aşağı okları kullanarak nesneler arasında geçiş yapın.
# 4) 'Düğüm ayrıntıları', bir UI öğesi hakkında bilgi aldığımız yerdir.
Otomasyondaki öğeye erişmemiz gereken, erişilebilirliği, görünürlüğü ve sınıf adı, metin, kaynak kimliği, içerik tanımı vb. Gibi öğe hakkında gerekli tüm bilgileri gösterir.
Bundan sonra ekran aşağıdaki gibi görünecektir.
Cihazdaki Google arama kutusuna tıklayın ve UIAutomatorViewer'ı kullanarak tekrar bir ekran görüntüsü alın.
PC'de görüntülenen UI bileşenlerine tıklayın ve gözlemleyin. Araç, seçtiğiniz bileşeni algılar ve bileşen ayrıntılarını gösterir. Seçilen UI bileşeni, ekranın sol tarafında kırmızı renkli bir kutuyla vurgulanacaktır.
Örnek Test Programı
Eclipse'de bir Test projesi ve sınıfı oluşturma:
Bilgisayarınızda Eclipse IDE'yi açın ve tıklayın Dosya -> Yeni -> Java Projesi . Bir proje oluşturma penceresi açılacaktır, proje adını girin Örneğin 'UiAutomator_Demo'. Tüm varsayılan ayarları olduğu gibi bırakın ve bitir düğmesine iki kez tıklayın. Şimdi projeniz oluşturuldu.
Oluşturulan proje IDE'nin sol tarafında görüntülenecektir. Seçmeniz gereken proje adına sağ tıklayın Yeni -> Sınıf ve sınıf adını girmek için açılan pencerede, Örneğin, DemoTest ve bitir düğmesine basın.
Projeye Kavanoz Ekleme
Testleri otomatikleştirirken kullandığımız tüm kitaplıkları eklemeliyiz.
# 1) Eclipse'de proje adına sağ tıklayın ve ardından 'Özellikleri' .
#iki) Özellikleri içeren yeni bir pencere gösterilecek, seçin 'Java oluşturma yolu'.
# 3) Kitaplıklar menüsünü tıklayın ve 'Harici kavanoz ekle' buton.
# 4) Dosya Yöneticisi penceresi açılacaktır. SDK'nın kurulu olduğu klasöre gidin. Seçiniz android.jar ve uiautomator.jar ve ardından uygula düğmesine basın ve ek pencereyi kapatın.
Bu testte, sonuçların arama sorgumuza göre görüntülenip görüntülenmediğini görmek için Google aramasında küçük bir işlem gerçekleştireceğiz.
Adımları gerçekleştirmek için gereken adımlar aşağıdadır:
- Google arama kutusunu tıklayın.
- Bir arama sorgusu girin, Örneğin, Yazılım Test Yardımı
- Giriş düğmesine basın ve sonuçların Yazılım Test Yardımı web sitesi bağlantısını içerip içermediğini kontrol edin
Yani bunlar manuel olarak gerçekleştirdiğimiz adımlar.
Aynısını otomatikleştirelim.
package com.android.uiautomation; import com.android.uiautomator.core.UiDevice; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class DemoTest extends UiAutomatorTestCase{ public void testApps() throws UiObjectNotFoundException, InterruptedException { getUiDevice().pressHome(); //Step1 UiObject searchBox = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_edit_frame')); searchBox.clickAndWaitForNewWindow(); //step2 UiObject searchBar = new UiObject(new UiSelector().resourceId ('com.google.android.googlequicksearchbox:id/search_box')); searchBar.setText('SoftwareTestingHelp'); //step3 UiDevice device = getUiDevice(); device.pressEnter(); Thread.sleep(3000); //step4 UiObject results = new UiObject(new UiSelector().textContains('Software Testing Help')); //step5 if(results.exists()){ System.out.println('Passed: Result has been shown for software testing help'); } else{ System.out.println('Failed: Result were not shown for software testing help'); } getUiDevice().pressHome(); } }
Yukarıdaki kod parçacığını inceleyelim.
Gerekli tüm modülleri programımıza aktardık.
Aşama 1 : Google arama kutusunun kaynak kimliğini bir UiObject'te saklama ve tıklama İşlemini gerçekleştirme.
Adım 2 : Metni arama kutusuna girip enter tuşuna basmak
Aşama 3 : Arama sonuçlarının Yazılım Test Yardım web sitesini içerip içermediğini doğrulama. Yazdır 'Geçti' İstenilen metin varsa konsola mesaj, yoksa 'Başarısız' mesajını yazdırın.
Komut Listesi
# 1) Bir Test projesi oluşturun
Android uitest-project -t -p oluştur
Bu komut, Jar üretimi için daha sonra kullanılacak bir build.xml dosyası oluşturur.
-t parametresi, Android sürümünü bir parametre olarak alır. Test etmeyi hedeflediğiniz android sürümünü belirtmeniz gerekir. Misal: android-25 yani Android 7 sürümünü hedefliyoruz.
-p parametresi, proje için yolunuzu belirtmeniz gereken yerdir. Misal: D: Çalışma Alanı UiAutomator_Demo
-n projenin adıdır Misal: UiAutomator_Demo
# 2) Kaynak kodunuzu oluşturun
Daha önce de belirtildiği gibi, Apache ant'ı kaynak kodumuzu derlemek ve çalıştırılabilir bir JAR dosyası oluşturmak için bir inşa aracı olarak kullanırdık.
Karınca yapısı
Derleme zamanında herhangi bir hata yoksa, konsolda bir mesaj gösterilecektir. 'Derleme başarılı' .
Ardından çalıştırılabilir jar dosyasını şurada bulabilirsiniz: am projenizin klasörü, ilk komutun yürütülmesi sırasında belirtilen ada sahip. Kodunuzda herhangi bir sorun varsa, bu durumda hatalar konsolda gösterilecek ve JAR dosyası oluşturulmayacaktır.
# 3) Oluşturulan JAR dosyasını cihaza gönderme
Adb push / data / local / tmp /
Misal: adb push D: Workspace UiAutomator_Demo bin UiAutomator_Demo.jar / data / local / tmp /
UiAutomator testleri cihaza gönderilen JAR dosyasına göre çalıştığından, önce jar dosyamızı cihaza göndermemiz gerekir. Bunun için adb push komutunu kullanacağız.
Bu komut iki parametre alır - biri Android cihaza gönderilecek dosya, diğeri ise hedef yol.
Bu komut için ikinci argüman, dosyamızın itilmesi gereken hedef yoldur. Bizim durumumuzda / data / local / tmp / olmalıdır
# 4) Testi Çalıştırın
yeni başlayanlar için en iyi oyun geliştirme yazılımı
Şimdi, her şey hazır. Bekleyen tek şey testimizi yapmak.
Adb shell uiautomator runtest –c
Misal: adb shell uiautomator runtest UiAutomator_Demo.jar –c com.android.uiautomation.DemoTest
en iyi görev yönetimi yazılımı nedir
Sınıf nitelikli adını nasıl alacağınızı bilmiyorsanız, aşağıdaki süreci izleyin:
Eclipse'inizde, projenizin açılır menüsünü tıklayın ve test kodunuzun bulunduğu sınıfa gidin. Burada sınıf DemoTest'tir. Sınıf adına sağ tıklayın. Bir pencere açılacaktır, tıklayın 'Nitelikli adı kopyala' .
Komut isteminde bu komuta bastığınız anda, test yürütülmeye başlayacak ve şimdi testin cihazda gerçekleştirildiğini görebilirsiniz.
SSS
S # 1) SDK için yol ayarı zorunlu mu?
Cevap: Hayır, ancak yolu ayarlamanız önerilir, çünkü SDK'nın yolunu ortam değişkenlerinde ayarlamazsanız, dosyalara yalnızca kurulu olduğu konumdaki erişebilirsiniz.
Bu nedenle, SDK'nıza her yerden erişmek için yolu ayarlamanız gerekir. Sadece SDK için değil, aynı zamanda Java ve ant için de aynı şekilde takip edilmesi tavsiye edilir.
S # 2) UIAutomatorViewer ekran görüntüsü alırken neden hata veriyor?
Cevap:
Bunun 3 olası nedeni vardır:
# 1) Adb cihazınızı tanımadı ve cihaz sürücüsü yazılımını güncellemeniz gerekiyor. Onları çevrimiçi arayabilir ve kurabilirsiniz, Örneğin, Bir LG cihazıyla çalışıyorsanız, LG adb sürücülerini arayabilirsiniz.
#iki) Cihazınız boşta durumda değil: Videonun oynatılması veya herhangi bir animasyonun görüntülenmesi gibi statik olmayan ekran için uiautomatorviewer bu durumlarda ekran görüntüsü alamaz. Bu nedenle, ekran görüntüsü alırken cihazınızın ekranının herhangi bir video / animasyon göstermediğinden emin olun.
# 3) Android sürüm uyuşmazlığı: SDK api sürümünüzün, cihazın Android sürümü api düzeyinden daha yüksek veya ona eşit olduğundan emin olun. Değilse, android.bat dosyasına tıklayarak veya SDK yöneticisi aracılığıyla SDK'yı güncelleyebilirsiniz.
S # 3) UIAutomatorViewer için herhangi bir resmi belge var mı?
Cevap: Evet, Google sağladı dokümantasyon UIAutomatorViewer için. Tüm konular tam olarak ele alınmasa da bu araç hakkında bir fikir edinebilirsiniz.
S # 4) Neden adb devices komutu herhangi bir cihaz göstermiyor?
Cevap: Cihazınızda geliştirici seçeneklerinin etkin olup olmadığını kontrol edin. Etkinleştirmek Geliştiriciler seçeneği Android cihazda aşağıdaki süreci takip edin. Cihaz ayarlarına gidin ve Telefon hakkında . Yapı numarasına 5 kez dokunun. Tost mesajı 'Artık bir geliştiricisin' gösterilecek ve Geliştirici ayarları seçeneği eklenecektir.
S # 5) Neden Adb hala cihazımı tanımıyor mu?
Cevap: Bir sürücü sorunu olabilir. Aygıtı algılamaya yardımcı olan sürücüyü güncellemeniz gerekir.
Sürücüyü güncellemek için aşağıdaki adımları izleyin.
# 1) Sisteminizi açın ve cihaz yöneticisini açın; bu ayarı sağ tıklayarak alabilirsiniz Başlangıç tuşu .
#iki) Cihaz Yöneticisi'ni açın, burada cihazınızın adını Android cihazlarda / taşınabilir cihazlarda bulabilirsiniz.
# 3) Aygıt adına sağ tıklayın ve Sürücüleri güncelle öğesini seçin.
# 4) Sürücü yazılımı için bilgisayarıma gözat seçeneğine tıklayın ve bilgisayarımdaki aygıt sürücüleri listesinden seçmeme izin ver seçeneğine tıklayın.
# 5) Yüklemek için uygun sürücülerden herhangi birini seçin ve sonraki düğmeye basın. Aygıt sürücüsü başarıyla yüklendiyse, aşağıda bir mesaj gösterilecektir.
# 6) Bunlar sisteminize uygulanan donanım değişiklikleri olduğundan, istenirse sistemi yeniden başlatmanız gerekebilir.
# 7) Cihazın tanınmadığını düşünüyorsanız, önce mod bağlantısını değiştirebilirsiniz. Bu modlar, cihazınızı sisteme bağladığınızda cihazda görüntülenir.
Misal: Dosyaları aktarın, Fotoğrafları aktarın, MIDI1.
S # 6) Bir Android uygulamasının her bir UI bileşeni ayrıntılarını görebilir miyim?
Cevap: UIAutomatorViewer'da neredeyse tüm UI bileşenlerinin ayrıntılarını görebilirsiniz. Herhangi bir UI / Layout, android tarafından sağlanan varsayılanların dışında kullanıyorsa, bunlar UIAutomatorViewer aracında görüntülenemez.
Özelliği otomatikleştirmek için geliştiricinizden UI öğesine herhangi bir tanımlayıcı eklemesini isteyebilirsiniz. Örneğin, bir kaynak kimliği, içerik açıklaması vb. koymak
S # 7) Appium aracı, içinde UIAutomator aracını kullanıyor mu?
Cevap: Evet.
S # 8) Bu araç, Android dışında Windows / iOS gibi diğer cihazları destekliyor mu?
Cevap: Hayır, bu Google tarafından geliştirilmiştir ve yalnızca Android cihazları destekler.
S # 9) UIautomator Android nedir?
Cevap: UIAutomator, Android uygulama test durumlarını otomatikleştirmeye yardımcı olan bir araç / çerçevedir.
S # 10) UIAutomator'ı Nasıl Kurarsınız?
Cevap: Ayrıntılı bir açıklama için lütfen bu eğiticinin Kurulum bölümüne bakın.
S # 11) Appium'da UIAutomator nedir?
Cevap: UiAutomator, Android uygulama testini otomatikleştirmek için Android tarafından sağlanan bir test çerçevesi / aracıdır, Appium bunu dahili olarak kullanır.
S # 12) UIAutomator'daki bir öğeyi nasıl incelersiniz?
Cevap: Kurulumu tamamladığınızda, bir komut istemi açın ve UIAutomatorViewer komutunu girin. PC'nizde bir pencere görüntülenecektir. Cep telefonunu PC'ye bağlayın ve üstteki Cihaz ekran görüntüsü (uiautomator dökümü) ikinci simgesine tıklayın.
Bu cihazdan sonra, mevcut ekran denetçi penceresinde görüntülenecektir. Bu öğe hakkında bilgi almak için öğelerden herhangi birine tıklayın. Ayrıntılı bir açıklama için bakın Gerekli UI öğesini inceleyin Bölüm.
Sonuç
Özetlemek,
- UIAutomatorViewer, herhangi bir uygulamanın UI katmanını incelemek için kullanılan bir grafik kullanıcı arayüzü aracıdır.
- Uygulamanın UI katmanındaki kullanıcı etkileşimini otomatikleştirmenin daha kolay olması için test edilen bir uygulamanın UI yapısını bilmeniz gerekir.
- UIAutomator bir XML anlık görüntüsü ve ekran görüntüsü kullanır. Düzen hiyerarşisini öğrenebilirsiniz.
- Android uygulamalarının UI testlerini otomatikleştirmek için, önce uygulamayla bir etkileşim gerçekleştirmek üzere bazı konum belirleyicileri belirlemeniz gerekir. Misal: Sınıf adı, kaynak kimliği, metin.
- Adb, Android Hata Ayıklama Köprüsü adı verilen SDK'nın bir parçasıdır.
- UIAutomatorViewer'ı şu komutu girerek açabilirsiniz: uiautomatorviewer komut satırında.
- Bu araç ücretsiz olduğu için herkes tarafından kullanılabilir ve güvenilirdir.
Mutlu Okumalar !!
Önerilen Kaynaklar
- Android Cihazda Chrome Tarayıcıda Web Uygulaması Nasıl Otomatikleştirilir
- Appium Kullanarak Android Cihazda Yerel Uygulamayı Otomatikleştirin
- Android Uygulamalarını Test Etmek İçin En İyi 11 Otomasyon Aracı (Android Uygulama Test Araçları)
- GUI Test Otomasyonu İçin En İyi 30 GUI Test Aracı (2021 LIST)
- Katalon Studio Eğitimi: Beklediğiniz Ücretsiz Bir Test Otomasyon Aracı
- Ranorex Studio Uygulamalı İnceleme: Hepsi Bir Arada Test Otomasyon Çözümü
- SeeTest Otomasyon Eğitimi: Mobil Test Otomasyon Aracı Kılavuzu
- TestProject Test Otomasyon Aracı Uygulamalı İnceleme Eğitimi