Test Uiautomator
Son Güncelleme | Kararlı Sürüm | Yayın Adayı | Beta Sürümü | Alfa Sürümü |
---|---|---|---|---|
26 Haziran 2024 | 2.3.0 | - | - | 2.4.0-alfa01 |
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ün build.gradle
dosyasına ihtiyaç duyduğunuz yapılar için bağımlılıkları ekleyin:
Groovy
dependencies { // Use to implement UIAutomator tests androidTestImplementation "androidx.test.uiautomator:uiautomator:2.4.0-alpha01" }
Kotlin
dependencies { // Use to implement UIAutomator tests androidTestImplementation("androidx.test.uiautomator:uiautomator:2.4.0-alpha01") }
Bağımlılıklar hakkında daha fazla bilgi edinmek için Derleme bağımlılıkları ekleme bölümüne bakın.
Geri bildirim
Geri bildiriminiz Jetpack'i iyileştirmemize yardımcı olacaktır. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz varsa bize bildirin. Yeni bir kitaplık oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oy ekleyebilirsiniz.
Daha fazla bilgi için Sorun İzleyici dokümanlarına bakın.
Sürüm 2.4
Sürüm 2.4.0-alpha01
26 Haziran 2024
androidx.test.uiautomator:uiautomator:2.4.0-alpha01
yayınlandı. Sürüm 2.4.0-alpha01 bu kaydetmeleri içerir.
API Değişiklikleri
- Metin, tuşlara basmak yerine her zaman doğrudan yerleştirildiği için artık kullanılmadığından
Configurator#getKeyInjectionDelay
vesetKeyInjectionDelay
kullanımdan kaldırıldı. (I3bcc5).
Hata Düzeltmeleri
UiObject2
hareket etkinlikleri arasındaki gecikme, dinamik yenileme hızlarını (ör. Smooth Display) hesaba katacak şekilde güncellendi (I43f12).- Erişilebilirlik önbelleğini (I3be25) düzenli olarak geçersiz kılarak belirli kullanıcı arayüzlerindeki erişilebilirlik düğümü eskiliğinden kaynaklanan stabilite azaltıldı.
- Eski bir
UiObject2
cihazdatoString
veyahashCode
çağrılırken görülenStaleObjectException
sorunları düzeltildi. (I38ea1). - Gereksiz
waitForIdle
çağrıları atlanarakUiWatcher
performansı iyileştirildi. (I8c65e). - Özellikle her
Configurator
parametresinin ne zaman kullanıldığını netleştirmek için javadoc hataları düzeltildi. (Ie10b1, I71631).
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 kaydetmeleri içerir.
2.2.0'dan bu yana önemli değişiklikler
- Çoklu ekran desteği: Birden fazla ekranda nesneleri bulma ve üzerinde çalıştırma desteği ve 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ü gösterildi ve bunlara karşılık gelenUiDevice#wait
,UiObject2#wait
veUiObject2#scrollUntil
yöntemleri eklendi (27c0ea, 099d6e). - Hata düzeltmeleri ve güvenilirlik
- Görüntü boyutu hesaplamalarının zaman zaman yanlış olmasına ve ekranın bazı bölümlerini (Ifc016) yoksaymasına neden olan sorun düzeltildi. Testlerde kullanılan koordinatların ve ofsetlerin ayarlanması gerekebilir.
- Doğruluğu artırmak (678ca3) ve kullanıcı hareketlerini (454450) daha iyi emüle etmek 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 öğelerin güvenilirliği artırıldı.
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 yayınlandı. Sürüm 2.3.0-rc01 bu kaydetmeleri içerir.
Sürüm 2.3.0-beta01
13 Aralık 2023
androidx.test.uiautomator:uiautomator:2.3.0-beta01
yayınlandı. Sürüm 2.3.0-beta01 bu kaydetmeleri içerir.
API Değişiklikleri
UiObject2
yüzdeye dayalı kenar boşluğu yöntemleri tutarlılık içinsetGestureMarginPercentage
vesetGestureMarginsPercentage
olarak yeniden adlandırıldı (I24435)
Hata Düzeltmeleri
- İkincil ekran bulunamadığında veya erişilebilir olmadığında bildirilen hata 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 kaydetmeleri 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 özelliği eklendi (Ibac6f). UiDevice
ürününün yeniden oluşturulması halinde eski birInstrumentation
örneğini kullanmasıyla ilgili sorun (I18cae) düzeltildi.- Düğümler (Icafcb) dökümü sırasında görünen kimlik belirlenemediğinde olası NPE (NPE) düzeltildi.
- Tıklanamayan/kaydırılabilir nesnelerde tıklama/kaydırma gerçekleştirilirken uyarı eklendi (I4a5d9).
- Güvenilirliği iyileştirmek 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 kaydetmeleri içerir.
API Değişiklikleri
- Ebeveynlerine göre nesne bulmayı desteklemek için
By.hasParent
veBy.hasAncestor
eklendi (I93c36). - Nesnenin ipucu metnini almak için
UiObject2#getHint
ve nesneleri ipucu metinlerine (Idd345) göre seçmek içinBy.hint
yöntem eklendi. - Nesnelerin bulundukları ekrana göre seçilmesini desteklemek için
By.displayId
eklendi (I1825b). - Bir ekranın boyutlarını kimliğine (Ie6544) göre bulmak için
UiDevice#getDisplayHeight(int)
veUiDevice#getDisplayWidth(int)
yöntemleri eklendi. - Geriye dönük uyumluluk için
wait(SearchCondition, long)
vewait(UiObject2Condition, long)
yöntemleri yeniden eklendi (Iebfda). UiDevice#executeShellCommand
, herkese açık olarak değiştirildi ancak gizli yerine önerilmedi (Ic48a1).
Hata Düzeltmeleri
- Hız yerine hareket doğruluğuna öncelik vererek gevşekliği azaltmak için
MotionEvent
yerleştirme güncellendi (678ca3). - Performans sorunlarını belirlemek için yoğun kaynak yöntemlerine izleme eklendi (d17de3).
- UiAutomation bağlantısı başlatılırken yeniden deneme mekanizması (048caf) eklendi.
UiDevice#dumpWindowHierarchy
içindeki boş düğümlerde olası bir NPE (b725eb) sorunu düzeltildi.- Özel ekranlarda sorgulama veya çalışmayla ilgili beklenmeyen 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 kaydetmeleri içerir.
API Değişiklikleri
- Yalnızca
Until
ürününde yerleşik olarak bulunan uygulamalardan yararlanmak yerine özel bekleme koşullarına olanak tanımak için birCondition
arayüzü kullanıma sunuldu ve bu arayüzü kabul edecek şekildeUiDevice#wait
veUiObject2#wait
yöntemleri güncellendi (27c0ea). - Bir koşul karşılanana kadar kaydırmayı desteklemek ve
UiScrollable
(099d6e) ile denkliğe ulaşmak içinUiObject2#scrollUntil
eklendi. - Cihaz türleri (e13cb7) arasında döndürmeleri kolaylaştırmak için
UiDevice#setOrientationPortrait
vesetOrientationLandscape
eklendi. - Nesne boyutuna göre kenar boşluklarının ayarlanmasını desteklemek için
UiObject2#setGestureMarginPercent
eklendi. (Ib8c77)
Hata Düzeltmeleri
- SDK 18 ile 22 arasında (b53ece) zaman zaman geçersiz koordinatlar kullanan
UiScrollable
yöntemleri düzeltildi. - SDK 18 ve 19'daki (77e41d)
UiObject2#setText
veclearText
metinlerinin değiştirilmesi sorunu düzeltildi. - Doğru sırada yürütülmeyen
UiWatcher
öğeleri düzeltildi (c85f92). UiDevice
yön değişikliğinden (c6cea0) sonra cihaz döndürmenin henüz tamamlanmamış olabileceği sorun düzeltildi.- Uzun tıklama, sürükleme ve sıkıştırma hareketleri için daha yüksek güvenilirlik (49572b, 3c619a).
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 kaydetmeleri içerir.
API Değişiklikleri
- Daha fazla bilgi sağlamak, olası sorunlar hakkında sizi uyarmak ve tutarlılığı artırmak için kitaplık genelinde günlük kaydı yeniden işlendi.
UiDevice#pressKeyCodes
, aynı anda birden fazla tuşa basmayı desteklemek için eklendi (ör. ekran görüntüsü almak için GÜÇ ve VOLUME_DOWN tuşlarına basın (22e525).- Yöntem adındaki (4e2f65) bir yazım hatasını düzeltmek için
UiDevice#setCompressedLayoutHierarchy
eklendi veUiDevice#setCompressedLayoutHeirarchy
desteği sonlandırıldı. UiAutomatorInstrumentationTestRunner
, desteği sonlandırılmışUiAutomatorTestCase
öğelerini işlediği ve artık gerekli olmadığı (be6c85) için desteği sonlandırıldı olarak işaretlendi.- Kullanıcı hareketlerinin daha iyi emülasyonu için
UiObject2
MotionEvent
sn. arasındaki gecikme, ekran yenileme hızının iki katı olacak şekilde güncellendi (454450). - Çok satırlı metin ve açıklama eşleştirme için destek eklendi (1625e6, b/255787130).
Hata Düzeltmeleri
- Sorgularken veya nesneleri beklerken zaman zaman
StaleObjectException
öğesinin atılması sorunu düzeltildi (4cbcc0). - Başa/bitişe ulaşılıp ulaşılmadığını belirtmeyen
UiScrollable#scrollToBeginning
,scrollToEnd
,flingToBeginning
veflingToEnd
dönüş değerleri (d33e06) düzeltildi. - Yapılandırılmış zaman aşımını (29e4f3) yoksayan
UiScrollable#scrollForward
vescrollBackward
yöntemleri düzeltildi. - Derinlik seçicileri işlemeyen
BySelector
kopya oluşturucusu düzeltildi (6c7b91). UiObject#pinchIn
vepinchOut
(01b973) öğelerinde geçersiz yüzde değerlerinin işlenmesi düzeltildi.- Temel
UiAutomation
bağlantısı sıfırlanırsa (1bb956) çoklu pencere desteğinin kaybedilmesine neden olan nadir bir sorun düzeltildi.
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 kaydetmeleri içerir.
API Değişiklikleri
- Herkese açık tüm yöntemlerin geçersiz olduğuna dair açıklama eklendi.
- Daha düzgün
UiObject2
hareketleri için kısa bir gecikmeyleMotionEvent
yerleştirme eşzamansız olarak değiştirildi. - Bekleme sırasında yoklama aralığı 1.000 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
uygulamalarını kullanacak şekilde güncellendi.UiObject2#getDisplayId
özelliği eklendi. Ayrıca birden fazla ekranda nesneleri bulup yönetme desteği eklendi.- Koordinatları kullanarak bir noktayı tıklamak için
UiObject#click
veUiObject2#clickAndWait
yöntemleri eklendi.
Hata Düzeltmeleri
- Ekran boyutu hesaplamalarının zaman zaman yanlış olmasına ve özellikle çoklu pencere modunda (Ifc016c) ekranın bazı bölümlerini yoksaymasına neden olan sorun düzeltildi.
UiDevice#takeScreenshot
öğesindeki (Id80ad6) ekran görüntülerinin ölçeklendirilmesi düzeltildi.Until.scrollFinished
veUiObject2#scroll
(I7b0595) hizmetlerinin güvenilirliği iyileştirildi.- Yüksek düzey modu
IncorrectContextUseViolation
uyarıları (Iffa6a0) düzeltildi.