Testa Uiautomator
Aggiornamento più recente | Release stabile | Candidato per la release | Versione beta | Release alpha |
---|---|---|---|---|
21 febbraio 2024 | 2.3.0 | - | - | - |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza al test, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Trendy
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") }
Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 2.3.0
Versione 2.3.0
21 febbraio 2024
androidx.test.uiautomator:uiautomator:2.3.0
viene rilasciato. La versione 2.3.0 contiene questi commit.
Modifiche importanti dalla versione 2.2.0
- Supporto di più display: è stato aggiunto il supporto per trovare e gestire oggetti su più display e
UiDevice
metodi per gestire i display secondari (Ie6544, I912cd). - Nuovi selettori:
- È stato aggiunto
By.displayId
per selezionare gli oggetti in base al relativo ID visualizzato (I1825b). - Sono stati aggiunti
By.hasParent
eBy.hasAncestor
per selezionare gli oggetti in base ai relativi elementi padre (I93c36). - Sono stati aggiunti
By.hint
metodi per selezionare gli oggetti in base al testo del suggerimento (Idd345).
- È stato aggiunto
- Condizioni personalizzate: è stata esposta un'interfaccia
Condition
per supportare condizioni di attesa personalizzate; sono stati aggiunti i metodiUiDevice#wait
,UiObject2#wait
eUiObject2#scrollUntil
corrispondenti (27c0ea, 099d6e). - Correzioni di bug e affidabilità
- Risolto il problema per cui i calcoli delle dimensioni di visualizzazione a volte non erano corretti e potevano ignorare parti dello schermo (Ifc016). Le coordinate e gli offset utilizzati nei test potrebbero dover essere modificati.
- È stata aggiornata l'inserimento di
MotionEvent
per migliorare l'accuratezza (678ca3) ed emulare meglio i gesti dell'utente (454450). - È stata migliorata l'affidabilità di scorrimenti (I7b059), rotazioni (c6cea0), clic lunghi (49572b), pizzichi (3c619a) e altro ancora.
Versione 2.3.0-rc01
7 febbraio 2024
androidx.test.uiautomator:uiautomator:2.3.0-rc01
viene rilasciato senza modifiche. La versione 2.3.0-rc01 contiene questi commit.
Versione 2.3.0-beta01
13 dicembre 2023
androidx.test.uiautomator:uiautomator:2.3.0-beta01
viene rilasciato. La versione 2.3.0-beta01 contiene questi commit.
Modifiche alle API
- I metodi di margine basati su percentuale di
UiObject2
sono stati rinominati insetGestureMarginPercentage
esetGestureMarginsPercentage
per coerenza (I24435)
Correzioni di bug
- Miglioramento dell'errore generato quando un display secondario non viene trovato o non è accessibile (116b23)
Versione 2.3.0-alpha05
1° novembre 2023
androidx.test.uiautomator:uiautomator:2.3.0-alpha05
viene rilasciato. La versione 2.3.0-alpha05 contiene questi commit.
Modifiche alle API
- È stato aggiunto
UiObject2#getDrawingOrder
per esporre le informazioni sull'ordine dei disegni (z-index). (I5dfa4). - Sono stati aggiunti
UiDevice
metodi per recuperare, impostare, bloccare e sbloccare la rotazione dei display secondari. (I912cd).
Correzioni di bug
- È stato aggiunto un nuovo tentativo a
UiObject2#scrollUntil
quando non è stato possibile rilevare la fine dello scorrimento (Ibac6f). - Risolto il problema per cui
UiDevice
utilizzava un'istanzaInstrumentation
inattiva se veniva ricreata (I18cae). - Risolto il possibile NPE se non è possibile determinare l'ID visualizzato durante il dump dei nodi (Icafcb).
- È stato aggiunto un avviso quando si eseguono clic/scorrimenti su oggetti non cliccabili/scorribili (I4a5d9).
- È stata ridotta la velocità di scorrimento predefinita
UiObject2
per migliorare l'affidabilità (I5e071).
Versione 2.3.0-alpha04
26 luglio 2023
androidx.test.uiautomator:uiautomator:2.3.0-alpha04
viene rilasciato. La versione 2.3.0-alpha04 contiene questi commit.
Modifiche alle API
- Sono stati aggiunti
By.hasParent
eBy.hasAncestor
per supportare la ricerca di oggetti in base ai relativi elementi padre (I93c36). - Sono stati aggiunti
UiObject2#getHint
per recuperare il testo del suggerimento di un oggetto eBy.hint
metodi per selezionare gli oggetti in base al testo del suggerimento (Idd345). - È stato aggiunto
By.displayId
per supportare la selezione degli oggetti in base al display in cui si trovano (I1825b). - Sono stati aggiunti i metodi
UiDevice#getDisplayHeight(int)
eUiDevice#getDisplayWidth(int)
per trovare le dimensioni di un display in base al relativo ID (Ie6544). - Sono stati aggiunti di nuovo i metodi
wait(SearchCondition, long)
ewait(UiObject2Condition, long)
per la compatibilità con le versioni precedenti (Iebfda). UiDevice#executeShellCommand
modificato in pubblico ma sconsigliato anziché nascosto (Ic48a1).
Correzioni di bug
- È stata aggiornata l'iniezione di
MotionEvent
per ridurre la sfalsamento dando la priorità alla precisione dei gesti rispetto alla velocità (678ca3). - È stato aggiunto il tracciamento ai metodi che utilizzano molte risorse per identificare i colli di bottiglia delle prestazioni (d17de3).
- È stato aggiunto un meccanismo di nuovo tentativo durante l'avvio di una connessione UiAutomation (048caf).
- È stato corretto un possibile NPE da nodi nulli in
UiDevice#dumpWindowHierarchy
(b725eb). - Sono stati corretti gli errori imprevisti legati all'esecuzione di query o all'utilizzo su display privati (985db6, 7053d4).
Versione 2.3.0-alpha03
19 aprile 2023
androidx.test.uiautomator:uiautomator:2.3.0-alpha03
viene rilasciato. La versione 2.3.0-alpha03 contiene questi commit.
Modifiche alle API
- L'interfaccia
Condition
è stata esposta per consentire condizioni di attesa personalizzate anziché fare affidamento esclusivamente sulle funzionalità integrate inUntil
; inoltre, i metodiUiDevice#wait
eUiObject2#wait
sono stati aggiornati per accettare questa interfaccia (27c0ea). - È stato aggiunto
UiObject2#scrollUntil
per supportare lo scorrimento fino a quando una condizione non è soddisfatta e per raggiungere la parità conUiScrollable
(099d6e). - Sono stati aggiunti
UiDevice#setOrientationPortrait
esetOrientationLandscape
per facilitare le rotazioni tra i tipi di dispositivi (e13cb7). - È stato aggiunto
UiObject2#setGestureMarginPercent
per supportare l'impostazione dei margini relativi alle dimensioni dell'oggetto. (Ib8c77)
Correzioni di bug
- Sono stati corretti i metodi
UiScrollable
che a volte utilizzavano coordinate non valide negli SDK da 18 a 22 (b53ece). - Risolto il problema di
UiObject2#setText
eclearText
per la mancata modifica del testo negli SDK 18 e 19 (77e41d). - Risolto il problema di esecuzione degli elementi
UiWatcher
nell'ordine corretto (c85f92). - È stato risolto il problema per cui la rotazione del dispositivo potrebbe non essere ancora stata completata dopo un cambio di orientamento di
UiDevice
(c6cea0). - Migliorata l'affidabilità di clic lunghi, trascina e pizzicatura (49572b, 3c619a).
Versione 2.3.0-alpha02
11 gennaio 2023
androidx.test.uiautomator:uiautomator:2.3.0-alpha02
viene rilasciato. La versione 2.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Logging rielaborato in tutta la libreria per fornire maggiori informazioni, avvisare in caso di possibili problemi e migliorare la coerenza.
- È stato aggiunto
UiDevice#pressKeyCodes
per supportare la pressione di più tasti contemporaneamente, ad esempio la pressione di POWER e VOLUME_DOWN per acquisire uno screenshot (22e525). - Sono stati aggiunti
UiDevice#setCompressedLayoutHierarchy
e deprecatoUiDevice#setCompressedLayoutHeirarchy
per correggere un errore ortografico nel nome del metodo (4e2f65). - Contrassegnato
UiAutomatorInstrumentationTestRunner
come deprecato perché gestisce gliUiAutomatorTestCase
deprecati e non è più necessario (be6c85). - Ritardo aggiornato tra
UiObject2
MotionEvent
al doppio della frequenza di aggiornamento del display per emulare meglio i gesti dell'utente (454450). - Aggiunto il supporto per la corrispondenza di descrizione e testo multiriga (1625e6, b/255787130).
Correzioni di bug
- È stato risolto il problema che a volte venivano generati (
StaleObjectException
) durante l'esecuzione di query o l'attesa degli oggetti (4cbcc0). - Sono stati corretti i valori restituiti di
UiScrollable#scrollToBeginning
,scrollToEnd
,flingToBeginning
eflingToEnd
che non indicavano se l'inizio/fine è stato raggiunto (d33e06). - Sono stati corretti i metodi
UiScrollable#scrollForward
escrollBackward
, ignorando il timeout configurato (29e4f3). - È stato corretto il costruttore di copia
BySelector
che non gestisce i selettori di profondità (6c7b91). - È stata corretta la gestione dei valori percentuali non validi in
UiObject#pinchIn
epinchOut
(01b973). - Risolto un raro problema per cui il supporto della modalità multi-finestra andava perso se la connessione
UiAutomation
sottostante veniva reimpostata (1bb956).
Versione 2.3.0-alpha01
7 settembre 2022
androidx.test.uiautomator:uiautomator:2.3.0-alpha01
viene rilasciato. La versione 2.3.0-alpha01 contiene questi commit.
Modifiche alle API
- Annotazione dello stato nullo di tutti i metodi pubblici.
- L'inserimento di
MotionEvent
è stato cambiato in asincrono con un breve ritardo per gestiUiObject2
più fluidi. - Intervallo di polling ridotto nell'attesa da 1000 ms a 100 ms.
- Sono stati aggiornati
UiDevice#wakeUp
eUiDevice#sleep
in modo che utilizzinoKEYCODE_WAKEUP
eKEYCODE_SLEEP
per supportare i dispositivi che sostituiscono il tasto di accensione. - Sono stati aggiunti
UiObject2#getDisplayId
e supporto per trovare e gestire oggetti su più display. - Sono stati aggiunti i metodi
UiObject#click
eUiObject2#clickAndWait
per fare clic su un punto utilizzando le sue coordinate.
Correzioni di bug
- Risolto il problema per cui i calcoli delle dimensioni di visualizzazione a volte erano errati e potevano ignorare parti dello schermo, soprattutto in modalità multi-finestra (Ifc016c).
- È stato corretto il ridimensionamento degli screenshot in
UiDevice#takeScreenshot
(Id80ad6). - È stata migliorata l'affidabilità di
Until.scrollFinished
eUiObject2#scroll
(I7b0595). - Correzione degli avvisi
IncorrectContextUseViolation
relativi alla modalità con restrizioni (Iffa6a0).