Test Uiautomator
Son Güncelleme | Kararlı Sürüm | Serbest Bırakma Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
21 Şubat 2024 | 2.3.0 | - | - | - |
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ın 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" }
Kotlin
dependencies { // Use to implement UIAutomator tests androidTestImplementation("androidx.test.uiautomator:uiautomator:2.3.0") }
Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme konusuna bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i daha iyi hale getirmemize yardımcı oluyor. Yeni sorunlar keşfederseniz veya bu kitaplığı nasıl geliştirebileceğimizle ilgili fikirleriniz varsa bize bildirin. Yeni bir sorun 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.
Daha fazla bilgi için Sorun İzleyici belgelerine bakın.
Sürüm 2.3.0
Sürüm 2.3.0
21 Şubat 2024
androidx.test.uiautomator:uiautomator:2.3.0
yayınlandı. 2.3.0 sürümü bu kayıtları içerir.
2.2.0'dan sonraki önemli değişiklikler
- Çoklu ekran desteği: Birden çok ekrandaki nesneleri bulma ve bunlar üzerinde çalışma desteği, ikincil ekranları yönetmek için
UiDevice
yöntemleri (Ie6544, I912cd) eklendi. - Yeni seçiciler:
- Özel koşullar: Özel bekleme koşullarını desteklemek için bir
Condition
arayüzü kullanıma sunuldu ve ilgiliUiDevice#wait
,UiObject2#wait
veUiObject2#scrollUntil
yöntemleri (27c0ea, 099d6e) eklendi. - Hata düzeltmeleri ve güvenilirlik
- Görüntü boyutu hesaplamalarının zaman zaman yanlış olmasına ve ekranın bazı bölümlerinin yoksayılmasına (Ifc016) neden olan sorun düzeltildi. Testlerde kullanılan koordinatların ve ofsetlerin ayarlanması gerekebilir.
- Doğruluğu artırmak (678ca3) ve kullanıcı hareketlerinin daha iyi emülasyonunu (454450) iyileştirmek için
MotionEvent
yerleştirme güncellendi. - Kaydırma (I7b059), döndürme (c6cea0), uzun tıklamalar (49572b), sıkıştırma (3c619a) ve diğer özelliklerin güvenilirliği geliştirildi.
Sürüm 2.3.0-rc01
7 Şubat 2024
androidx.test.uiautomator:uiautomator:2.3.0-rc01
, hiçbir değişiklik yapılmadan serbest bırakıldı. 2.3.0-rc01 sürümü bu kayıtları içerir.
Sürüm 2.3.0-beta01
13 Aralık 2023
androidx.test.uiautomator:uiautomator:2.3.0-beta01
yayınlandı. 2.3.0-beta01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Tutarlılık için
UiObject2
yüzdeye dayalı marj yöntemlerisetGestureMarginPercentage
vesetGestureMarginsPercentage
olarak yeniden adlandırıldı (I24435)
Hata Düzeltmeleri
- İkincil ekran bulunamadığında veya erişilebilir olmadığında görüntülenen hata mesajı düzeltildi (116b23)
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
öğesine yeniden deneme eklendi (Ibac6f). UiDevice
ürününün yeniden oluşturulması durumunda eski birInstrumentation
örneği kullanmasıyla ilgili sorun düzeltildi (I18cae).- Düğümler dökümü yapılırken görüntü kimliği belirlenemiyorsa (Icafcb) olası NPE düzeltildi.
- Tıklanamayan/kaydırılabilir nesnelerde tıklama/kaydırma işlemi 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ı. 2.3.0-alpha04 sürümü bu kayıtları içerir.
API Değişiklikleri
- Nesneleri üstlerine göre bulmayı desteklemek için
By.hasParent
veBy.hasAncestor
eklendi (I93c36). - Bir nesnenin ipucu metnini almak için
UiObject2#getHint
ve nesneleri ipucu metnine (Idd345) göre seçmek içinBy.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ın kimliğine göre bulmak için
UiDevice#getDisplayHeight(int)
veUiDevice#getDisplayWidth(int)
yöntemleri eklendi (Ie6544). - Geriye dönük uyumluluk için
wait(SearchCondition, long)
vewait(UiObject2Condition, long)
yöntemleri yeniden eklendi (Iebfda). UiDevice#executeShellCommand
öğesi herkese açık olarak değiştirildi ancak gizli (Ic48a1) yerine kullanılması önerilmez.
Hata Düzeltmeleri
MotionEvent
yerleştirme, hareket doğruluğu hıza (678ca3) göre önceliklendirilerek gevşekliği azaltmak için güncellendi.- Performans sorunlarını belirlemek için kaynakları yoğun olarak kullanan yöntemlere izleme özelliği eklendi (d17de3).
- UiAutomation bağlantısı başlatılırken yeniden deneme mekanizması eklendi (048caf).
UiDevice#dumpWindowHierarchy
içindeki (b725eb) boş 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ı. 2.3.0-alpha03 sürümü bu kayıtları içerir.
API Değişiklikleri
- Yalnızca
Until
içindeki yerleşiklere güvenmek yerine özel bekleme koşullarına izin veren birCondition
arayüzü kullanıma sunuldu veUiDevice#wait
veUiObject2#wait
yöntemleri bu arayüzü (27c0ea) kabul edecek şekilde güncellendi. - Bir koşul karşılanana kadar kaydırmayı desteklemek ve
UiScrollable
(099d6e) ile benzerliğe ulaşmak içinUiObject2#scrollUntil
eklendi. - Cihaz türleri arasında döndürmeyi kolaylaştırmak için
UiDevice#setOrientationPortrait
vesetOrientationLandscape
eklendi (e13cb7). - Nesne boyutuna göre kenar boşluklarını ayarlamayı 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'daki (77e41d) metni değiştiremeyen
UiObject2#setText
veclearText
düzeltildi. UiWatcher
öğelerinin doğru sırada (c85f92) uygulanmaması sorunu düzeltildi.UiDevice
yön değişikliğinden (c6cea0) sonra cihaz döndürmesinin henüz tamamlanmamış olabileceği sorun düzeltildi.- Uzun tıklama, sürükleme ve sıkıştırma işlemlerinin (49572b, 3c619a) güvenilirliği iyileştirildi.
Sürüm 2.3.0-alpha02
11 Ocak 2023
androidx.test.uiautomator:uiautomator:2.3.0-alpha02
yayınlandı. 2.3.0-alpha02 sürümü bu kayıtları içerir.
API Değişiklikleri
- Daha fazla bilgi sağlamak, olası sorunlar hakkında uyarıda bulunmak ve tutarlılığı iyileştirmek için kitaplık genelinde günlük kaydı yeniden düzenlendi.
UiDevice#pressKeyCodes
tuşu, aynı anda birden fazla tuşa basmayı desteklemek için eklendi (örneğin, 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 veUiDevice#setCompressedLayoutHeirarchy
kullanımdan kaldırıldı. 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ülasyonunu sağlamak için
UiObject2
MotionEvent
sn. arasındaki gecikme, ekran yenileme hızının iki katı olarak güncellendi (454450). - Çok satırlı metin ve açıklama eşleşmesi için destek eklendi (1625e6, b/255787130).
Hata Düzeltmeleri
- Nesneleri sorgularken veya beklerken zaman zaman
StaleObjectException
öğelerinin gönderilmesi düzeltildi (4cbcc0). - Başa/sona ulaşılıp ulaşılmadığını belirtmeyen
UiScrollable#scrollToBeginning
,scrollToEnd
,flingToBeginning
veflingToEnd
değerleri düzeltildi (d33e06). - Yapılandırılmış zaman aşımını (29e4f3) yok sayan
UiScrollable#scrollForward
vescrollBackward
yöntemleri düzeltildi. - Derinlik seçicileri işlemeyen
BySelector
kopyası oluşturucusu düzeltildi (6c7b91). UiObject#pinchIn
vepinchOut
(01b973) değerlerinde 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ı. 2.3.0-alpha01 sürümü bu kayıtları içerir.
API Değişiklikleri
- Herkese açık tüm yöntemlerin geçersiz olduğu belirtildi.
- Daha düzgün
UiObject2
hareketleri içinMotionEvent
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
veUiDevice#sleep
, güç düğmesini geçersiz kılan cihazları desteklemek içinKEYCODE_WAKEUP
veKEYCODE_SLEEP
kullanılacak şekilde güncellendi.- Birden fazla ekranda nesneleri bulma ve yönetme desteği ile
UiObject2#getDisplayId
eklendi. - Koordinatlarını kullanarak bir noktayı tıklamak için
UiObject#click
veUiObject2#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çeklenmesi düzeltildi.Until.scrollFinished
veUiObject2#scroll
güvenilirliği iyileştirildi (I7b0595).- Yüksek düzey modu
IncorrectContextUseViolation
uyarıları (Iffa6a0) düzeltildi.