Archivio delle note di rilascio di prova

AndroidX Test Espresso 3.1.1, Runner 1.1.1, Regole 1.1.1, Monitoraggio 1.1.1 AndroidTestOrchestrator 1.1.1, Core 1.1.0, Truth 1.1.0, JUnit 1.1.0 (2018-12-13)

Questa è la release stabile di AndroidX Test 1.1.0

  • Principali
    • Fai in modo che ActivityScenario supporti attività che avviano un'altra attività

AndroidX Test Espresso 3.1.1-beta01, Runner 1.1.1-beta01, Regole 1.1.1-beta01, Monitoraggio 1.1.1-beta01 AndroidTestOrchestrator 1.1.1-beta01, Core 1.1.0-beta01 Verità 1.1.0-beta01, J-0-8-beta01 (J-Unit 1.1)

  • Principali
    • Nuovo manufatto per l'estensione core-ktx kotlin! Include un'API ActivityScenario.launchActivity compatibile con Kotlin
    • Nuova API ActivityScenario per avviare attività con intent personalizzati
    • Nuova API ActivityScenario per ricevere un risultato di attività
    • Rendi ActivityScenario chiudebile
  • Caffè
    • Modifica conResourceNameMatcher e HumanReadables in modo che siano compatibili con l'API 28.
    • Aggiorna la descrizione di replaceTextAction per includere il valore stringToBeSet.
    • Supporta Espresso in modalità Looper in pausa Robolectric.
  • JUnit
    • Nuova API ActivityScenarioRule, per l'avvio automatico e la chiusura di un'attività durante la configurazione e lo smontaggio
    • Nuovo manufatto per l'estensione junit-ktx kotlin! Include un'API ActivityScenarioRule adatta a Kotlin
  • Corsa
    • Rendi coerenti il comportamento dei pacchetti -e e testFile quando ricevi i pacchetti
  • Verità
    • Aggiungi le API BundleSubject bool, parcelable e parcelableAsType

AndroidX Test Espresso 3.1.0, Runner 1.1.0, Regole 1.1.0, Monitor 1.1.0 AndroidTestOrchestrator 1.1.0, Core 1.0.0 Truth 1.0.0, JUnit 1.0.0 (2018-10-24)

  • Tutti
    • Imposta minSdkVersion su 14 e targetSdkVersion su 28
  • Caffè
    • Risolvere il problema con ContentDescription per utilizzare tipi non stringa
    • Aggiungi il supporto per l'utilizzo di Espresso su Robolectric
    • Problema 72798625: Espresso ViewMatchers.withText non funziona quando textAllCaps è abilitato
    • Aggiunta del supporto per l'inserimento di una sequenza di eventi di movimento
  • Intent
    • Aggiungi l'API beta per recuperare l'elenco di intent. Da usare con nuove affermazioni della verità
  • Corsa
    • Aggiunta del supporto per le app istantanee
    • Depreca androidx.test.runner.AndroidJUnit4 e sostituiscilo con androidx.test.ext.junit.runners.AndroidJUnit4
  • Monitora
    • Depreca androidx.test.InstrumentationRegistry e sostituiscilo con androidx.test.platform.app.ToolationRegistry e androidx.test.core.app.ApplicationProvider
  • AndroidTestOrchestrator
    • Abilita la gestione della copertura dell'agente di orchestrazione solo se vengono passati entrambi gli argomenti "coverage" e "coverageFilePath".
    • Attendi il debugger solo quando è impostato -debug, ma non per elencare gli scenari di test ATO. È stato aggiunto un nuovo flag di orchestratorDebug per eseguire il debug dell'agente di orchestrazione stesso
  • Principali
    • Nuovo elemento! Include nuove API che supportano test sia locali che sul dispositivo per:
      • Recupero contesto: ApplicationProvider
      • Controllo dei cicli di vita delle attività: ActivityScenario(beta)
      • Builder per MotionEvent, PackageInfo
      • Classe di utilità Parceables
  • Verità
    • Nuovo elemento! Include oggetti veri e personalizzati per notifiche, intent, bundle, Parcelable e MotionEvent
  • JUnit
    • Nuovo elemento! Include la classe runner JUnit androidx.test.ext.junit.runners.AndroidJUnit4 che supporta sia test locali che sul dispositivo.

Espresso 3.0.2-beta1, Runner 1.0.2-beta1, Regole 1.0.2-beta1, Monitoraggio 1.0.2-beta1, AndroidTestOrchestrator 1.0.2-beta1 (2018-04-16)

  • Caffè
    • Modifica dell'API in fase di interruzione:
      • Nel numero 64062890 ci è stato segnalato che stavamo utilizzando Guava Optional nella nostra API pubblica. È stata una terribile svista da parte nostra . Di conseguenza, in questa release è stata apportata una modifica che provoca un errore all'API pubblica per risolvere questo problema. Abbiamo introdotto un brutto wrapper intorno alla classe Guava Optional, denominata EspressoOptional, che si trova nello spazio dei nomi "android.support.test.espresso.util". Gli sviluppatori che utilizzavano l'API Guava Optional divulgata devono modificare le proprie importazioni e i propri riferimenti per utilizzare EspressoOptional durante l'aggiornamento a questa nuova versione. Ci scusiamo per gli eventuali disagi.
    • Le API onView() e onData() sono ora contrassegnate come @CheckReturnValue per evitare errori
    • È stato risolto il problema relativo al file POM espresso-core in modo da non estrarre la dipendenza "regole", ma da estrarre dal POM espresso-intent. Questa dovrebbe essere una modifica NoOp per gli sviluppatori, poiché le intenzioni espresso non possono essere utilizzate senza espresso-core.
    • Problema 65486414: Espresso manca la dipendenza guava
    • Problema 65576174: Espresso IdlingResourceRegistry.sync causa un errore del secondo test
    • Problema 65568629: Espresso.onIdle non utilizza IdlingRegistry
    • Problema 69333598: espresso 3.0.1 incompatibile con play-services-auth:11.6.0 nel modulo libreria Android.
    • Problema 64062890: tipo interno facoltativo esposto dall'interfaccia AdapterViewProtocol
    • Problema 64091847: Espresso 3.0.0 NON deve dipendere dal test runner
    • Problema 73722050: classe espresso-contrib 3.0.2-alpha1 pacchetti android.arch.{lifecycle/core}
  • Telecomando per espresso
    • Questo è un manufatto completamente nuovo. Abbiamo disaccoppiato tutte le funzionalità di multi-processo di Espresso al di fuori dell'artefatto espresso-core. Questo metodo è più pulito e dovrebbe ridurre notevolmente le dimensioni complessive del core espresso e il numero di metodi.
  • Corsa
    • Tronca l'analisi dello stack se è troppo grande per una transazione di Binder. Poiché AJUR deve segnalare gli errori ad AM tramite un IPC di binder, dobbiamo assicurarci di non superare il limite di transazioni di Binder, ovvero 1 MB per processo.
    • Problema 65828576: arresto anomalo di TestRequestBuilder durante l'esecuzione di test in classe con @Ignora
    • Problema 37057596: non gestiamo gli errori in @BeforeClass
  • Regole
    • Assicurati di rilasciare un riferimento sull'attività in fase di test dopo le modifiche al ciclo di vita. Durante il test è ora in grado di manipolare l'attività direttamente utilizzando il riferimento ottenuto da #getActivity(). Se l'attività viene terminata e viene riavviata, il riferimento restituito da #getActivity() ora rimanda sempre all'istanza corrente dell'attività.
    • Problema 64389280: GrantPermissionRule non fornisce WRITE_EXTERNAL_STORAGE
    • Problema 37065965: ActivityTestRule fa perdere l'attività dopo il cambio dell'orientamento
    • Problema 75254050: ActivityTestRule non aggiorna l'istanza Activity durante le modifiche alla configurazione
    • Problema 64464625: impossibile eseguire l'interfaccia utente nel metodo finish() dell'attività
  • AndroidTestOrchestrator
    • Supera -e coverage true -e coverageFilePath /sdcard/foo/ flag per generare file di copertura nella località specificata (l'app deve disporre dell'autorizzazione per scrivere nella posizione specificata). La convenzione di denominazione dei file di copertura ora è simile a questa com.foo.Class#method1.ec. Tieni presente che questa funzionalità è supportata solo in modalità isolata. Inoltre, non può essere utilizzato insieme al flag coverageFile di AndroidJUnitRunner. Poiché i file di copertura generati si sovrascrivono a vicenda.
    • Passa il flag -e clearPackageData se vuoi che l'agente di orchestrazione esegua i comandi pm clear context.getPackageName() e pm clear targetContext.getPackageName() tra una chiamata di test e l'altra. Tieni presente che il contesto nel comando chiaro è l'app nel contesto di test.
    • Risolto: quando si esegue un test vuoto, ossia senza @Test all'interno del target, il risultato del test è diverso dalla modalità precedente.
    • Problema 72758547: Test Orchestrator fa sì che i dati relativi alla copertura di Jacoco siano incompleti, poiché contengono solo i dati dell'ultima esecuzione di test
    • Problema 67916042: Android Test Orchestrator : esecuzione interrotta in caso di arresto anomalo del processo a causa dell'esaurimento della memoria
    • Problema 77752735: Orchestrator si arresta in modo anomalo per TransactionTooLargeException
    • Problema 77549481: l'orchestratore di prova deve eseguire il comando "pm cancella" dopo ogni test

Espresso 3.0.2-alpha1, Runner 1.0.2-alpha1, Regole 1.0.2-alpha1, AndroidTestOrchestrator 1.0.2-alpha1 (2017-12-05)

  • Caffè

    • Intents ora ha una risposta richiamabile, che consente l'esecuzione dei test dopo l'acquisizione di un intent attivato, ma prima di restituire un oggetto Instrumentation.ActivityResult.
  • Corsa

    • Suddividi l'artefatto sviluppatore monitor com.android.support.test:monitor:<version> per gli utenti che hanno bisogno di MonitoringInstrumentation senza eseguire test e le funzionalità di JUnit.

      Se utilizzi com.android.support.test:runner:<version>, tutto funziona come previsto, perché Gradle estrae automaticamente il modulo monitor come dipendenza del modulo runner.

    • Flag newRunListenerOrderMode aggiunto. Quando true, i listener definiti dall'utente vengono eseguiti prima dei listener predefiniti. Prevediamo che questo comportamento diventerà l'impostazione predefinita.

    • Problema 65828576: TestRequestBuilder si arresta in modo anomalo quando vengono eseguiti test in una classe annotata con @Ignore (autonomo senza esecuzione di test o funzionalità JUnit).

  • AndroidTestOrchestrator

    • Ora gestisce i test vuoti come se fossero AndroidJUnitRunner non orchestrati.
    • Ora Orchestrator può gestire output standard molto grandi da AndroidJUnitRunner.

Espresso 3.0.1, Runner 1.0.1, Regole 1.0.1, AndroidTestOrchestrator 1.0.1 (28/08/2017)

  • Caffè

    • È stata aggiunta un'opzione IdlingPolicy per eliminare onTimeout() quando un debugger di passi è collegato alla VM.
    • Problemi 64024656, 64247586 e 64525881: non segnalare errori relativi al caricamento delle classi non riuscito, a meno che un utente non stia caricando classi specifiche includendo l'argomento -e class runner.
    • Problema 64877246: aggiunta delle classi mancanti al file JAR di origine.
  • Corsa

    • Logica ShardingFilter semplificata.
    • Problema 65025743: il filtro @RequiresDevice ora supporta gli emulatori FTL.
  • AndroidTestOrchestrator

    • Non duplicare gli errori dei report. Quando un processo di test si arresta in modo anomalo dopo un errore, viene segnalato un solo errore per il test.
    • Corretto il codice Javadoc per Orchestrator.
    • Ora i test vengono indicati come non riusciti se il processo remoto si arresta in modo anomalo.
    • Ora gestisce gli scenari di test ignorati.
    • Ora esclude gli scenari di test ignorati dal piè di pagina in modo che corrispondano ai risultati precedenti.
    • Risolti i problemi relativi alle autorizzazioni di runtime. I report sui test vengono ora scritti sulla scheda SD su Android 7.0 (livello API 24) e versioni successive.

Espresso 3.0.0, Runner 1.0.0, Regole 1.0.0, AndroidTestOrchestrator 1.0.0 (25-07-2017, Avviso)

Modifiche che provocano un errore

  • Tutti gli artefatti
    • Eliminazione del supporto per livelli API inferiori a 15. Tuttavia, l'SDK minimo rimanda ancora al livello API 9 per dare agli utenti il tempo di eseguire l'upgrade
  • Caffè

Problemi noti

  • AndroidTestOrchestrator
    • Gli argomenti runner -e numShards e -e shardIndex non sono attualmente supportati
    • I test con parametri non sono al momento supportati

Nuove funzionalità

  • Regole
  • AndroidTestOrchestrator
    • Android Test Orchestrator offre un nuovo modo di raccogliere ed eseguire i test, con particolare attenzione alla correttezza e all'isolamento. Orchestrator è un processo di strumentazione indipendente che genera un processo di esecuzione della strumentazione per ogni test e raccoglie i risultati.
      • Gli arresti anomali dell'applicazione eliminano la strumentazione dell'esecuzione, ma non l'agente di orchestrazione, consentendo alla tua suite di test di continuare
      • Richiede l'installazione dell'APK dell'agente di orchestrazione – 'com.android.support.test:orchestrator:1.0.0'
      • La versione 1.0 ha solo un'interfaccia a riga di comando. È prevista l'integrazione con Android Studio e Firebase Test Labs

Correzioni di bug

  • Caffè
    • Miglioramento della sincronizzazione della vista principale per ridurre notevolmente le irregolarità
    • Correggi il danneggiamento di IdlingResourceRegistry
    • Migliore sincronizzazione con gli oggetti IdlingResource
    • Problema 37132680: Espresso non attende il completamento della creazione della finestra di dialogo prima di eseguire l'azione successiva
    • Problema 37103280: Espresso deve spedire le regole per consumatori ProGuard per evitare che i consumatori le aggiungano
    • Problema 37094726: Espresso Intents contiene un'etichetta dell'applicazione non necessaria
    • Problema 37093953: Espresso: nessun segno di errore disponibile per il testo di errore nullo/vuoto
    • Problema 37071776: espresso-core incorpora i file .pom di Guava
    • Problema 37062612: NPE in release()
    • Problema 37063389: se le dipendenze Guava e espresso-web come androidTest non vengono compilate
    • Problema 37070533: aggiungi il supporto per NavigationView nella Android Design Support Library
  • Corsa
    • Correggi la possibilità di utilizzare @UiThreadTest in combinazione con @Test(timeout = 123)
    • Argomento runner -e notClass corretto
    • È stato corretto -e log per supportare le suite di test JUnit3 e JUnit4, nonché per i runner Parameterized e Enclosed
    • Problema 37663530: attendi il completamento di tutte le attività prima e dopo ogni metodo di test
    • Problema 37132680: Espresso non attende il completamento della creazione della finestra di dialogo prima di eseguire l'azione successiva
    • Problema 37123213: @RequiresDevice ignorato su x86_64 ABI
    • Problema 37101485: alcuni argomenti forniti dal file manifest per AndroidJUnitRunner, ad esempio le dimensioni del test, l'annotazione e il debug, vengono ignorati
    • Problema 37082857: l'esecuzione del test semi-parallelo di Espresso non va a buon fine su oggetti statici
    • Problema 37063396: contesto non inizializzato con ProviderTestCase2 (causa NullPointerException)

Altre modifiche degne di nota

  • I file binari ora vengono pubblicati tramite Google Maven
  • Riduzione della dimensione dei file JAR espresso-core e espresso-web, grazie all'applicazione di ProGuard per le dipendenze incorporate
  • Tutti i .aar file ora includono le regole ProGuard
  • Aggiungi proguard_library.cfg file agli artefatti rilasciati
  • L'interfaccia di Tapper include una nuova versione di sendTap() da implementare

Contributi esterni

Espresso 2.2.2, Runner/Rules 0.5 (22/02/2016, rilascio silenzioso)

Nuove funzionalità

  • espresso
    • Problema 194253: Aggiunta del supporto per NavigationView nella libreria di progettazione del supporto Android
    • Sono stati aggiunti controlli per le animazioni e le transizioni attivate
    • Nuova API ViewMatcher: withResourceName()

Correzioni di bug

  • espresso
    • Problema 195331: espresso-core incorpora i file pom di guava
    • Risorsa inattiva per il conteggio spostata fuori dal contributo espresso
  • regole
    • Problema 187249: NPE a Intents.release()
  • runner
    • Problema 196066: l'argomento -e log true in AndroidJUnitRunner non ignora il test effettivo
    • Attendi il debugger in onCreate() del runner
    • Spostate tutte le annotazioni di test supportate fuori dalla piattaforma e in ATSL
    • È stato rimosso il dump dell'analisi dello stack relativo all'assenza di JSBridge
    • AndroidAnnotatedBuilder corretti

Altre modifiche degne di nota

  • ActivityTestRule, UiThreadTestRule, IntentsTestRule e ServiceTestRule non sono più in versione beta
  • Aggiungi un file di impostazioni degli stili di codice per una formattazione uniforme del codice

Espresso 2.2.1, Runner/Rules 0.4 (2015-09-15)

Nuove funzionalità

  • regole
    • Nuovo costruttore IntentsTestRule aggiunto per la compatibilità completa con ActivityTestRule
  • runner
    • Aggiunta l'installazione del caso speciale multidex per i livelli API 15 e precedenti
    • Filtri di esclusione aggiunti a classe e pacchetto:
      • Esecuzione di tutti i test tranne quelli di una determinata classe: adb shell am instrument -w -e notClass com.android.foo.FooTest
      • Esecuzione di tutti i test tranne uno: adb shell am instrument -w -e notClass com.android.foo.FooTest#testFoo
      • Esecuzione di tutti i test tranne per un determinato pacchetto: adb shell am instrument -w -e notPackage com.android.foo.bar

Contributi esterni

  • espresso
    • 157911: aggiungi il matcher vista per il tipo di input su un oggetto EditText
    • 157912: aggiungi il matcher vista per il testo dell'errore di corrispondenza su un oggetto EditText
    • 150674: aggiungi il supporto DrawerActions per i cassetti con gravità arbitraria
    • 150744: DrawerActions non più divulgata parentListener
    • 153303: la gravità specificata nei controlli "Il cassetto è aperto o chiuso".
    • 157910: aggiungi DrawerLayout stabilimenti di azione aperti e chiusi

Correzioni di bug

  • espresso
    • ViewActions.closeSoftKeyboard() ora assicura che la tastiera soft sia del tutto rimossa
    • È stato risolto il problema di sincronizzazione con il metodo Espresso.pressBack() di Espresso su API 21 e livelli successivi
    • È stata corretta la sincronizzazione per le animazioni di chiusura della tastiera nel livello API 23
  • regole
    • Corretto ServiceTestRule nel livello API 23, startService() deve sempre essere chiamato con un Intent esplicito
  • runner
    • Supporto JaCoCo di Gradle non funzionante corretto
    • Risolto il problema del supporto dello sharding di test
    • È stato risolto lo stato incoerente nell'esecutore del test dopo JUnit3 timeout del test dello stile

Altre modifiche degne di nota

  • Correzioni di Javadoc e miglioramenti dei messaggi di errore
  • Ignora i metodi suite() e non ignorare gli errori di inizializzazione quando utilizzi i filtri dei metodi

Espresso 2.2 / ATSL 0.3 (2015-06-09)

Nuove funzionalità

  • espresso-web 2.2
    • Nuova assistenza per WebView
  • espresso-core 2.2
    • Migrazione per utilizzare Dagger v2
    • Migrazione per utilizzare hamcrest v1.3
  • contribuzione-espresso 2.2
    • Controlli di accessibilità
    • Supporto di gravità DrawerActions
  • regole 0.3
    • DisableOnAndroidDebug regola
  • runner 0.3
    • Aggiornamento da JUnit v4.10 a JUnit v4.12
    • Migrazione per utilizzare Hamcrest v1.3

Correzioni di bug

  • Risolta la perdita di DrawerActions da parte di ParentListener
  • Un errore di supposizione viene ora considerato come un test di Ignora anziché come un test non riuscito
  • È stato risolto il problema di MonitoringInstrumentation istanze di attività in perdita tramite ExecutorService
  • Risolto il problema che causava il blocco di attività orfane nella fase arrestata
  • Aggiorna Until.scrollFinished() in modo che restituisca true se non sono stati generati eventi di scorrimento. Proteggerti da potenziali deteriorati nel UiObject2#setText().

Espresso 2.1, Test Runner/Rules 0.2 e UIAutomator 2.1.0 (21-04-2015)

Modifiche che provocano un errore

  • L'artefatto del runner di test è stato suddiviso in due e il nome è cambiato da com.android.support.test:testing-support-lib:0.1 a com.android.support.test:runner:0.2 e com.android.support.test:rules:0.2.

Nuove funzionalità

  • espresso-intents: un'API di tipo simulato che consente i test ermetici dell'interattività consentendo agli autori dei test di verificare e accorciare gli intent in uscita.
    • IntentsTestRule: estende ActivityTestRule, inizializzato e rilascia Espresso-Intents nei test funzionali dell'interfaccia utente
  • espresso-core
    • ViewActions: è stata aggiunta la possibilità di eseguire asserzioni globali prima di eseguire azioni. Questo è utile per altri framework che si basano su Espresso per convalidare lo stato della gerarchia di visualizzazione durante l'esecuzione della suite di test Espresso esistente
    • Sovraccarico di ViewMatchers.withContentDescription() resId
  • regole
    • ActivityTestRule: questa regola consente di eseguire test funzionali di una singola attività
    • Annotazioni UiThreadRule e UiThreadTest: questa regola consente al metodo di test annotato con UiThreadTest di essere eseguito nel thread principale (o nel thread dell'interfaccia utente) dell'applicazione.
    • ServiceTestRule: questa regola consente di eseguire test funzionali di un servizio
  • runner
    • ApplicationLifecycleCallback: callback per il monitoraggio degli eventi del ciclo di vita dell'applicazione
    • Ora tutti gli argomenti runner possono essere specificati anche nel file manifest Android utilizzando un tag <meta-data>
  • UIAutomator
    • UiDevice.dumpWindowHierarchy() ora può accettare File o OutputStream

Correzioni di bug

  • espresso
    • Il matcher cursore ora restituisce false se la colonna non è stata trovata, in modo che Hamcrest possa passare al cursore successivo
    • NullPointerException con PreferenceMatchers withTitle non si verifica più
    • L'annullamento della registrazione della risorsa inattiva non fa più sì che Espresso ritenga che siano presenti risorse inattive
    • Versione delle annotazioni dell'assistenza aggiornata utilizzata da Espresso Contrib
  • runner
    • AndroidJUnit4 ora ignora i test con ipotesi non corrette
  • UIAutomator
    • Esegui gli osservatori per evitare StaleObjectException

Altre modifiche degne di nota

  • Aggiungi un messaggio di errore migliore quando non è possibile digitare un testo con una stringa non latina

UIAutomator 2.0 (12/03/2015)

UI Automator ora è basato sulla strumentazione Android e puoi creare ed eseguire test utilizzando il comando ./gradlew connectedCheck.

Espresso Versione 2.0, Test Runner 0.1 (Data di rilascio: 19/12/2014)

Modifiche che provocano un errore

  • Il caffè espresso è stato spostato in un nuovo spazio dei nomi, da android.support.test.espresso a android.support.test.espresso
  • Gli artefatti Espresso sono stati rinominati
    • espresso-1.1.jar ora è espresso-core-release-2.0.jar
    • L'interfaccia di IdlingResource è stata spostata in una libreria separata: espresso-idling-resource-release-2.0.jar
    • CountingIdlingResource ora si trova in espresso-contrib-release-2.0.jar (come dovrebbe aver sempre)
  • Il parametro Facoltativo (una dipendenza guava) è stato rimosso dall'API pubblica per supportare la ripacchettizzazione della dipendenza guava ed evitare la collisione con DEX (una delle principali fonti di problemi per lo sviluppo). I metodi interessati includono:
    • ViewAssertion.check()
    • HumanReadables.getViewHierarchyErrorMessage()

Nuove funzionalità

  • Azioni
    • ViewActions
      • replaceText()
      • openLink()
      • Scorri verso l'alto e il basso
    • contributi-espresso
      • RecyclerViewActions: gestisce le interazioni con RecyclerViews
      • PickerActions: gestisce le interazioni con i selettori Date e Time
  • Partite
    • RootMatchers
      • isPlatformPopup()
    • ViewMatchers
      • isJavascriptEnabled()
      • withSpinnerText()
      • withHint()
      • isSelected()
      • hasLinks()
    • LayoutMatchers: matcher per i test del layout correlati a i18n
    • CursorMatchers: una raccolta di matcher per Cursor oggetti
  • Asserzioni
    • PositionAssertions, tra cui isLeftOf() e isAbove(): raccolta di ViewAssertions per controllare la posizione relativa degli elementi sullo schermo
    • LayoutAssertions: asserzioni per i test del layout relativi a i18n
  • App di prova: molte nuove attività/test di esempio
  • Altro
    • Espresso.unregisterIdlingResources() e Espresso.getIdlingResources(): offrono maggiore flessibilità per lavorare con IdlingResources
    • ViewInteraction.withFailureHandler(): consente di eseguire l'override del gestore degli errori da onView()
    • Supporto di onData() per AdapterViews supportato da CursorAdapters

Correzioni di bug

  • ViewMatchers.isDisplayed() corrisponde alle visualizzazioni che occupano l'intero schermo, ma non più del 90%
  • L'esecuzione dell'invito di azione di scorrimento verso DrawerActions.openDrawer() non genera più IdlingResourceTimeoutException

Altre modifiche degne di nota

  • Passaggio dalla creazione con Maven a Gradle
  • Spostate le dipendenze del caffè espresso (Guava, Dagger, Hamcrest) per evitare le collisioni DEX
  • Modificato in modo che restituisca un errore o un esito positivo durante la registrazione e l'annullamento della registrazione delle risorse inattive
  • Supporto di Lollipop: inserisci message.recycle() dietro un'interfaccia per tenere conto delle modifiche relative alla versione
  • Il livello dell'SDK target è cambiato a 21, che influisce principalmente sull'app di prova

Versione 1.1 (rilasciato il: 08-01-2014)

espresso

  • Nuovi swipeLeft e swipeRight ViewActions
  • Supporto multi-finestra: funzionalità avanzata che consente di scegliere la finestra di destinazione su cui Espresso deve eseguire l'operazione
  • Miglioramenti apportati a TypeTextAction: consente di digitare testo in una visualizzazione preimpostata, che semplifica l'aggiunta del testo
  • Numerose correzioni di bug

Libreria Contrib del caffè espresso

  • Questa nuova libreria contiene funzionalità che integrano espresso, ma non fanno parte della libreria di base
  • Novità di DrawerActions per l'uso su DrawerLayout: ha una dipendenza dalla libreria di assistenza Android, pertanto la stiamo nascondendo al di fuori della libreria Espresso di base

Test di esempio

  • Questi test sono stati collocati in modo da essere presenti nello stesso pacchetto dell'app di test
  • I POM Maven sono stati corretti per rimuovere i deps guava duplicati, pertanto mvn install dovrebbe funzionare ora