Testa l'interfaccia utente dell'app per verificare che il comportamento del codice Compose sia corretto. In questo modo puoi rilevare gli errori in anticipo e migliorare la qualità della tua app.
Compose fornisce un insieme di API di test per trovare elementi, verificarne gli attributi ed eseguire azioni utente. Le API includono anche funzionalità avanzate come la manipolazione del tempo. Utilizza queste API per creare test affidabili che verifichino il comportamento della tua app.
Visualizzazioni
Se utilizzi le viste anziché Composizione, consulta la sezione generale Testare le app su Android.
In particolare, un buon punto di partenza è la guida Automate UI tests (Automatizza i test dell'interfaccia utente). Spiega come automatizzare i test eseguiti sul dispositivo, anche quando si utilizzano le visualizzazioni.
Concetti principali
Di seguito sono riportati alcuni concetti chiave per testare il codice di Compose.
- Semantica: i test di composizione interagiscono con l'interfaccia utente utilizzando la semantica, che attribuisce un significato ai componenti dell'interfaccia utente e viene generata insieme alla gerarchia dell'interfaccia utente.
- API di test: Compose fornisce API di test per trovare elementi, eseguire verifiche sul loro stato e sulle loro proprietà ed eseguire azioni per simulare le interazioni utente.
- Sincronizzazione: per impostazione predefinita, i test di composizione si sincronizzano automaticamente con l'interfaccia utente, in attesa che sia inattiva prima di fare affermazioni o eseguire azioni.
- Interoperabilità: nelle app ibride, i test possono interagire senza problemi con gli elementi basati su Compose e View e integrarsi con altri framework di test.
Cheatsheet per i test
Consulta la cheatsheet per i test per una panoramica di tutti gli argomenti chiave che devi conoscere sui test in Compose.
Configura
Configura l'app in modo da poter testare il codice di composizione.
Innanzitutto, aggiungi le seguenti dipendenze al file build.gradle
del modulo contenente i test dell'interfaccia utente:
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
Questo modulo include un ComposeTestRule
e un'implementazione per Android chiamata AndroidComposeTestRule
. Con questa regola puoi impostare Scrivi
contenuto o accedere all'attività. Puoi creare le regole utilizzando le funzioni di fabbrica createComposeRule
o, se devi accedere a un'attività, createAndroidComposeRule
. Un tipico test dell'interfaccia utente per Compose è il seguente:
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
Risorse aggiuntive
- Testare le app su Android: la pagina di destinazione principale dei test Android offre una visione più ampia delle nozioni di base e delle tecniche di test.
- Nozioni di base sui test: scopri di più sui concetti fondamentali alla base del test di un'app per Android.
- Test locali: puoi eseguire alcuni test localmente, sulla tua workstation.
- Test con strumenti: è buona prassi eseguire anche test con strumenti. ovvero i test eseguiti direttamente sul dispositivo.
- Integrazione continua: l'integrazione continua ti consente di integrare i test nella pipeline di deployment.
- Esegui test su diverse dimensioni dello schermo: con così tanti dispositivi a disposizione degli utenti, devi testare diverse dimensioni dello schermo.
- Espresso: sebbene sia destinato alle UI basate su visualizzazioni, le conoscenze di Espresso possono essere utili per alcuni aspetti dei test di Compose.
Codelab
Per scoprire di più, prova il codelab di test di Jetpack Compose.
Campioni
Mir 2: Return of the King è un gioco mobile Legend IP di alta qualità autorizzato da Actoz Soft e sviluppato da HK ZHILI YAOAN LIMITED utilizzando Unity Engine. Questo gioco non solo ricrea perfettamente le sensazioni di "Mir 2", un rappresentante Wuthering Waves è un gioco di ruolo d'azione ad alta fedeltà sviluppato da Kuro Games.
L'ottimizzazione del consumo energetico è molto importante per offrire un'esperienza utente premium in modo sostenibile per sessioni di gioco lunghe. Android Godot Engine è un popolare motore di gioco open source multipiattaforma con un solido supporto per Android. Godot può essere utilizzato per creare giochi di quasi tutti i generi ed è in grado di gestire sia la grafica 2D che quella 3D. La versione 4 Android Dynamic Performance Framework (ADPF) è un potente strumento di Google per gli sviluppatori che vogliono ottimizzare il rendimento delle proprie applicazioni. tramite le sue API termiche, ADPF fornisce informazioni in tempo reale sullo stato NCSoft Lineage W è un gioco di ruolo massively multiplayer online (MMORPG) sviluppato da NCSoft. Questo gioco eredita l'eredità del gioco Lineage W
originale e offre un ambiente in cui i giocatori di tutto il mondo possono collaborare
e competere Migliorare le prestazioni e la gestione termica è essenziale per sviluppare
giochi di successo su Android. Tradizionalmente, gli sviluppatori dovevano gestire questi problemi diminuendo la fedeltà del gioco o ottimizzando ulteriormente il Call of Duty: Warzone Mobile è un gioco d'azione in prima persona della famosa saga Call of Duty. La realizzazione mobile del famoso gioco per console e PC sfrutta le API mobile di basso livello per offrire ai giocatori un'esperienza di alto livello. Summoners War: Chronicles è un MMORPG mobile dello sviluppatore di giochi sudcoreano Com2uS, rilasciato a livello globale a marzo 2023. Ad oggi, Summoners War ha guadagnato oltre 2,7 miliardi di dollari con oltre 180 milioni di download in tutto il Summoners War: Chronicles US(WW) e KR di Com2uS utilizzano esclusivamente Vulkan per il rendering su Android, con miglioramenti delle prestazioni
fino al 30%. Vulkan è una moderna API grafica 3D multipiattaforma progettata per ridurre al minimo Ares: Rise of Guardians è un MMORPG di fantascienza da mobile a PC sviluppato da Second Dive, uno studio di videogiochi con sede in Corea noto per la sua esperienza nello sviluppo di serie RPG d'azione. Il gioco è
pubblicato da Kakao Games. Cat Daddy Games è uno studio di proprietà di 2K con sede a Kirkland, Washington, e sviluppatore di NBA 2K Mobile.
Il team voleva migliorare la qualità e la stabilità complessive dei giochi, in particolare riducendo gli errori "L'applicazione non Devsisters è un publisher e sviluppatore di giochi mobile globale che produce casual game sulla base dell'IP Cookie Run. Tra i suoi giochi più famosi ci sono Cookie Run: OvenBreak (sala giochi) e Cookie Run: Kingdom (RPG social), apprezzati dagli NEW STATE Mobile è un gioco battle royale di Krafton lanciato a novembre 2021 in tutto il mondo e che ha raggiunto oltre 45 milioni di download nel primo mese dal lancio. KRAFTON, Inc. è un collettivo di studi indipendenti di sviluppo di giochi, Con sede in Polonia, Spokko è un gruppo di creator ambiziosi che lavorano con una proprietà intellettuale molto esigente. Sebbene faccia parte della famiglia CD PROJEKT, Spokko è una società indipendente che ha trasferito il fantastico mondo di The Cat Daddy Games è uno studio 2K interamente di proprietà con sede a Kirkland, Washington. I team dietro le serie NBA 2K Mobile, NBA SuperCard e WWE SuperCard cercavano una soluzione per migliorare la qualità generale dei loro giochi per gli utenti, Unreal Engine è un motore grafico sviluppato da Epic Games che offre ai creator di tutti i settori libertà e controllo per offrire intrattenimento all'avanguardia, visualizzazioni accattivanti e mondi virtuali coinvolgenti. Alcuni dei principali Electronic Arts (EA) è una società di giochi con sede in California, Stati Uniti. che produce una vasta gamma di giochi di generi diversi, come sport, azione, corse e simulazione. Lo studio di sviluppo di EA, Firemonkeys, è noto soprattutto come Con sede a Varsavia, in Polonia, lo sviluppatore di giochi CD Projekt RED (CDPR) ha reinventato il suo minigioco in The Witcher 3, GWENT: The Witcher Card Game, per essere lanciato come titolo free-to-play autonomo su Google Play a marzo 2020.
A Da oltre 20 anni Gameloft crea esperienze di gioco innovative per le piattaforme digitali, dai giochi mobile ai titoli multipiattaforma per PC e console. Oltre ai propri franchise consolidati, Gameloft sviluppa giochi per brand famosi come LEGO, A oggi, lo sviluppatore con sede negli Stati Uniti RV AppStudios ha accumulato oltre 200 milioni di download del suo portafoglio di casual game, app didattiche per bambini e app di utilità. Uno dei primi test di Google Play Asset Delivery con la Nel 2000, Gameloft è stato creato con la passione per i giochi e il desiderio di portarli a giocatori di tutto il mondo. Sono stati tra i primi a sviluppare per i dispositivi mobili e ora hanno un portafoglio
di oltre 190 giochi. Molti giochi per Pixonic un team di sviluppatori di videogiochi con sede a Mosca, è orgoglioso
a cogliere ogni opportunità di upgrade delle sue app mobile e raggiungere un
pubblico di giocatori. Uno dei titoli più noti dell'azienda è Robot da guerra Un'esperienza PvP Gameloft si sforza sempre di essere tra i primi sviluppatori a pubblicare giochi sui più recenti
hardware portatili per offrire ai giocatori esperienze da brivido
ovunque si trovino. Ecco perché Gameloft ha capito che ChromeOS era la casa ideale perMir 2 migliora le prestazioni di rendering utilizzando Swappy
Kuro Games riduce il consumo energetico del 9,68% tramite Android Studio Power Profiler e ODPM per Wuthering Waves
Ottimizzazione Vulkan di Godot Engine per Android
Iniziare a utilizzare ADPF (Android Dynamic Performance Framework) in Unreal Engine
NCSoft Lineage W migliora le prestazioni costanti e previene la limitazione termica grazie all'utilizzo di ADPF
MediaTek migliora le prestazioni dinamiche dei SoC di Android
Call of Duty Warzone Mobile usa Vulkan per migliorare la grafica
Com2uS - Google Play Giochi per PC
Com2uS utilizza Vulkan per migliorare la grafica
Kakao Games ha aumentato la stabilità degli FPS al 96% grazie all'adattabilità di Android
2K riduce la percentuale di ANR del 35% con Android Game Development Kit
Cookie Run: OvenBreak risparmia oltre 200.000 $CDN con Play Asset Delivery
NEW STATE Mobile riduce l'utilizzo della GPU del 22% con Android GPU Inspector
The Witcher: Monster Slayer aumenta la copertura grazie ad Android Performance Tuner
2K offre una grafica di qualità superiore con Play Asset Delivery
"AGDE è incredibile!" per lo sviluppo Android con Unreal Engine
Firemonkeys ha ridotto i tempi di sviluppo e debug con AGDE
CD Projekt RED riduce le dimensioni degli aggiornamenti del 90% e aumenta i tassi di aggiornamento del 10% con Play Asset Delivery
Gameloft riduce il consumo di energia del dispositivo del 70%, aumentando del 35% il tempo di gioco con l'API Game Mode
RV AppStudios migliora la fidelizzazione degli utenti con Google Play Asset Delivery
Gameloft acquisisce il 10% in più di nuovi utenti con Google Play Asset Delivery
Pixonic ha aumentato il coinvolgimento del 25% su ChromeOS ottimizzandolo per gli schermi di grandi dimensioni
Gameloft incrementa le entrate di 9 volte ottimizzando per ChromeOS
Nessun suggerimento al momento.
Prova ad accedere al tuo Account Google.