Test Uiautomator

  
Uygulamalar arası işlevsel kullanıcı arayüzü testi için çerçeve
Son Güncelleme Kararlı Sürüm Serbest Bırakma Adayı Beta Sürümü Alfa Sürümü
1 Kasım 2023 - - - 2.3.0-alfa05

Bağımlılıkları bildirme

Teste bağımlılık eklemek için projenize Google Maven deposunu eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyaç duyduğunuz yapıların bağımlılıklarını ekleyin:

Modern

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.3.0-alpha05"
}

Kotlin

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0-alpha05")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme bölümüne bakın.

Geri bildirim

Geri bildirimleriniz Jetpack'i iyileştirmemize yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı geliştirmek için fikirleriniz varsa lütfen bize bildirin. Yeni hesap oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerine bakın.

Sürüm 2.3.0

Sürüm 2.3.0-alpha05

1 Kasım 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha05 yayınlandı. 2.3.0-alpha05 sürümü bu kayıtları içerir.

API Değişiklikleri

  • Çizim sırası (Z-endeksi) bilgilerini göstermek için UiObject2#getDrawingOrder eklendi. (I5dfa4).
  • İkincil ekranları almak, ayarlamak, dondurmak ve çözmek için UiDevice yöntemleri eklendi. (I912cd).

Hata Düzeltmeleri

  • Kaydırma sonu algılanamadığında UiObject2#scrollUntil için yeniden deneme eklendi (Ibac6f).
  • UiDevice ürününün, yeniden oluşturulmuşsa (I18cae) eski bir Instrumentation örneğini kullanmasıyla ilgili sorun düzeltildi.
  • Düğümler dökümü yapılırken görüntü kimliği belirlenemezse olası NPE (Icafcb) düzeltildi.
  • Tıklanamayan/kaydırılamayan nesnelerde tıklama/kaydırma gerçekleştirilirken gösterilen uyarı eklendi (I4a5d9).
  • Güvenilirliği artırmak için varsayılan UiObject2 kaydırma hızı düşürüldü (I5e071).

Sürüm 2.3.0-alpha04

26 Temmuz 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha04 yayınlandı. Sürüm 2.3.0-alpha04 bu kayıtları içerir.

API Değişiklikleri

  • Nesneleri ebeveynlerine göre bulmayı desteklemek için By.hasParent ve By.hasAncestor eklendi (I93c36).
  • Bir nesnenin ipucu metnini almak için UiObject2#getHint ve nesneleri ipucu metnine (Idd345) göre seçmek için By.hint yöntemleri eklendi.
  • Nesneleri, bulundukları ekrana göre seçmeyi desteklemek için By.displayId eklendi (I1825b).
  • Bir görüntülü reklamın boyutlarını kimliğine göre bulmak için UiDevice#getDisplayHeight(int) ve UiDevice#getDisplayWidth(int) yöntemleri eklendi (Ie6544).
  • Geriye dönük uyumluluk için wait(SearchCondition, long) ve wait(UiObject2Condition, long) yöntemleri yeniden eklendi (Iebfda).
  • UiDevice#executeShellCommand ayarı herkese açık olarak değiştirildi ancak gizli yerine kullanılması önerilmiyor (Ic48a1).

Hata Düzeltmeleri

  • MotionEvent yerleştirme, hıza (678ca3) göre hareket doğruluğuna öncelik vererek gevşekliği azaltmak için güncellendi.
  • Performans sorunlarını belirlemek için çok fazla kaynak kullanan yöntemlere izleme özelliği eklendi (d17de3).
  • UiAutomation bağlantısı başlatılırken bir yeniden deneme mekanizması eklendi (048caf).
  • UiDevice#dumpWindowHierarchy alanındaki (b725eb) null düğümlerden olası NPE sorunu düzeltildi.
  • Özel ekranlarda sorgulama veya çalışma sırasında karşılaşılan beklenmedik hatalar düzeltildi (985db6, 7053d4).

Sürüm 2.3.0-alpha03

19 Nisan 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha03 yayınlandı. Sürüm 2.3.0-alpha03 bu kaydetmeleri içerir.

API Değişiklikleri

  • Yalnızca Until içindeki yerleşiklere güvenmek yerine özel bekleme koşullarına izin vermek için bir Condition arayüzü sunuldu ve UiDevice#wait ve UiObject2#wait yöntemleri bu arayüzü kabul edecek şekilde güncellendi (27c0ea).
  • Bir koşul karşılanana kadar kaydırmayı desteklemek ve UiScrollable (099d6e) ile eş değerine ulaşmak için UiObject2#scrollUntil eklendi.
  • Cihaz türleri arasında döndürmeyi kolaylaştırmak için UiDevice#setOrientationPortrait ve setOrientationLandscape eklendi (e13cb7).
  • Nesne boyutuna göre kenar boşluklarının ayarlanmasını desteklemek için UiObject2#setGestureMarginPercent özelliği eklendi. (Ib8c77)

Hata Düzeltmeleri

  • SDK 18-22'de (b53ece) zaman zaman geçersiz koordinatlar kullanan UiScrollable yöntemleri düzeltildi.
  • SDK 18 ve 19'da (77e41d) metinlerin değiştirilememesi UiObject2#setText ve clearText uygulamaları düzeltildi.
  • UiWatcher öğelerinin doğru sırada (c85f92) yürütülmemesi düzeltildi.
  • UiDevice yön değişikliğinden (c6cea0) sonra cihaz döndürmesinin henüz tamamlanamamasıyla ilgili sorun düzeltildi.
  • Uzun tıklama, sürükleme ve sıkıştırma işlemlerinin güvenilirliği artırıldı (49572b, 3c619a).

Sürüm 2.3.0-alpha02

11 Ocak 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha02 yayınlandı. Sürüm 2.3.0-alpha02 bu kaydetmeleri içerir.

API Değişiklikleri

  • Daha fazla bilgi sağlamak, olası sorunlar hakkında uyarıda bulunmak ve tutarlılığı artırmak için kitaplık genelinde günlük kaydı yeniden düzenlendi.
  • Aynı anda birden fazla tuşa basmayı desteklemek için UiDevice#pressKeyCodes eklendi (ör.ekran görüntüsü almak için POWER ve VOLUME_DOWN tuşlarına basma). (22e525).
  • Yöntem adındaki (4e2f65) bir yazım hatasını düzeltmek için UiDevice#setCompressedLayoutHierarchy eklendi ve kullanımdan kaldırıldı UiDevice#setCompressedLayoutHeirarchy.
  • UiAutomatorInstrumentationTestRunner, desteği sonlandırılmış UiAutomatorTestCase'ları işlediği ve artık gerekli olmadığı için desteği sonlandırıldı olarak işaretlendi (be6c85).
  • Kullanıcı hareketlerinin daha iyi emüle edilmesi için UiObject2 MotionEvent saniye arasındaki gecikme, ekran yenileme hızının iki katı olarak güncellendi (454450).
  • Çok satırlı metin ve açıklama eşleştirme için destek eklendi (1625e6, b/255787130).

Hata Düzeltmeleri

  • Nesneler sorgulanırken veya nesne beklenirken zaman zaman gösterilen StaleObjectException sorunları düzeltildi (4cbcc0).
  • Başa/sona ulaşılıp ulaşılmadığını belirtmeden UiScrollable#scrollToBeginning, scrollToEnd, flingToBeginning ve flingToEnd (d33e06) döndürme değerleri düzeltildi.
  • Yapılandırılmış zaman aşımını (29e4f3) yoksayan UiScrollable#scrollForward ve scrollBackward yöntemleri düzeltildi.
  • Derinlik seçicileri işlemeyen BySelector kopya oluşturucusu düzeltildi (6c7b91).
  • UiObject#pinchIn ve pinchOut (01b973) öğelerinde geçersiz yüzde değerlerinin işlenmesi düzeltildi.
  • Temel UiAutomation bağlantısı sıfırlandığında çoklu pencere desteğinin kaybolmasına neden olan, nadir görülen bir sorun düzeltildi (1bb956).

Sürüm 2.3.0-alpha01

7 Eylül 2022

androidx.test.uiautomator:uiautomator:2.3.0-alpha01 yayınlandı. Sürüm 2.3.0-alpha01 bu kayıtları içerir.

API Değişiklikleri

  • Herkese açık tüm yöntemlerin boş olduğu belirtildi.
  • Daha akıcı UiObject2 hareketleri için MotionEvent yerleştirme işlemi, kısa bir gecikmeyle eşzamansız olarak değiştirildi.
  • Beklerken yoklama aralığı 1000 ms'den 100 ms'ye düşürüldü.
  • UiDevice#wakeUp ve UiDevice#sleep, güç düğmesini geçersiz kılan cihazları desteklemek üzere KEYCODE_WAKEUP ve KEYCODE_SLEEP kullanılacak şekilde güncellendi.
  • UiObject2#getDisplayId ve birden fazla ekranda nesneleri bulma ve yönetme desteği eklendi.
  • Koordinatlarını kullanarak bir noktayı tıklamak için UiObject#click ve UiObject2#clickAndWait yöntemleri eklendi.

Hata Düzeltmeleri

  • Görüntü boyutu hesaplamalarının zaman zaman yanlış olmasına ve özellikle çoklu pencere modunda (Ifc016c) ekranın bazı bölümlerinin yoksayılmasına neden olan sorun düzeltildi.
  • UiDevice#takeScreenshot öğesinde (Id80ad6) ekran görüntülerinin ölçeklendirilmesi düzeltildi.
  • Until.scrollFinished ve UiObject2#scroll güvenilirliği iyileştirildi (I7b0595).
  • Yüksek düzey modu IncorrectContextUseViolation uyarıları düzeltildi (Iffa6a0).