Testen Sie die Benutzeroberfläche Ihrer App, um zu prüfen, ob der Compose-Code korrekt funktioniert. So können Sie Fehler frühzeitig erkennen und die Qualität Ihrer App verbessern.
Compose bietet eine Reihe von Test-APIs, mit denen Sie Elemente finden, ihre Attribute überprüfen und Nutzeraktionen ausführen können. Die APIs bieten auch erweiterte Funktionen wie die Zeitmanipulation. Mit diesen APIs können Sie robuste Tests erstellen, mit denen das Verhalten Ihrer App überprüft wird.
Aufrufe
Wenn Sie mit Ansichten statt mit Compose arbeiten, lesen Sie den allgemeinen Abschnitt Apps auf Android-Geräten testen.
Ein guter Ausgangspunkt ist der Leitfaden UI-Tests automatisieren. Darin wird beschrieben, wie Sie Tests automatisieren können, die auf dem Gerät ausgeführt werden, einschließlich der Verwendung von Ansichten.
Schlüsselkonzepte
Im Folgenden finden Sie einige wichtige Konzepte zum Testen Ihres Compose-Codes.
- Semantik: Zusammenstellen von Tests, die mit der Benutzeroberfläche über Semantik interagieren, die Teilen der Benutzeroberfläche Bedeutung verleiht und parallel zur Benutzeroberflächenhierarchie generiert wird.
- Test-APIs: Compose bietet Test-APIs zum Suchen von Elementen, zum Stellen von Behauptungen zu ihrem Status und ihren Eigenschaften und zum Ausführen von Aktionen, um Nutzerinteraktionen zu simulieren.
- Synchronisierung: Standardmäßig werden Compose-Tests automatisch mit der Benutzeroberfläche synchronisiert. Dabei wird gewartet, bis die Benutzeroberfläche inaktiv ist, bevor Behauptungen aufgestellt oder Aktionen ausgeführt werden.
- Interoperabilität: In Hybrid-Apps können Tests nahtlos sowohl mit Compose- als auch mit datenbankbasierten Elementen interagieren und in andere Testframeworks eingebunden werden.
Cheatsheet für Tests
In der Kurzübersicht zu Tests finden Sie eine Übersicht über alle wichtigen Themen, die Sie über das Testen in Compose wissen sollten.
Einrichten
Richten Sie Ihre App so ein, dass Sie Code für Compose testen können.
Fügen Sie zuerst der build.gradle
-Datei des Moduls mit Ihren UI-Tests die folgenden Abhängigkeiten hinzu:
// 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")
Dieses Modul enthält einen ComposeTestRule
und eine Implementierung für Android namens AndroidComposeTestRule
. Mit dieser Regel können Sie „Inhalte verfassen“ festlegen oder auf die Aktivität zugreifen. Sie erstellen die Regeln mithilfe von Fabrikfunktionen, entweder createComposeRule
oder, wenn Sie Zugriff auf eine Aktivität benötigen, createAndroidComposeRule
. Ein typischer UI-Test für Compose sieht so aus:
// 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()
}
}
Zusätzliche Ressourcen
- Apps unter Android testen: Die Haupt-Landingpage für Android-Tests bietet einen umfassenderen Überblick über die Grundlagen und Techniken des Testens.
- Grundlagen des Testens:Hier erfahren Sie mehr über die grundlegenden Konzepte beim Testen einer Android-App.
- Lokale Tests:Einige Tests können Sie lokal auf Ihrer eigenen Workstation ausführen.
- Instrumentierte Tests:Es empfiehlt sich, auch instrumentierte Tests auszuführen. Das sind Tests, die direkt auf dem Gerät ausgeführt werden.
- Continuous Integration: Mit Continuous Integration können Sie Ihre Tests in Ihre Bereitstellungspipeline einbinden.
- Unterschiedliche Bildschirmgrößen testen:Da Nutzern eine Vielzahl von Geräten zur Verfügung steht, sollten Sie verschiedene Bildschirmgrößen testen.
- Espresso: Obwohl Espresso für viewbasierte UIs gedacht ist, können Kenntnisse zu Espresso auch für einige Aspekte von Compose-Tests hilfreich sein.
Codelab
Weitere Informationen finden Sie im Codelab zum Testen mit Jetpack Compose.
Produktproben
Mir 2: Return of the King ist ein hochwertiges Legend IP-Mobilspiel, das von Actoz Soft autorisiert und von HK ZHILI YAOAN LIMITED mit der Unity Engine entwickelt wurde. Dieses Spiel fängt nicht nur das Gefühl von „Mir 2“ ein, einem repräsentativen Wuthering Waves ist ein High-Fidelity-Action-RPG von Kuro Games.
Die Optimierung des Energieverbrauchs ist sehr wichtig, um bei langen Gaming-Sessions nachhaltig eine erstklassige Nutzererfahrung zu bieten. In Android Studio wurde der Power Profiler Godot Engine ist eine beliebte plattformübergreifende Open-Source-Game-Engine mit umfassender Unterstützung für Android. Mit Godot können Spiele nahezu jedes Genres erstellt werden. Es unterstützt sowohl 2D- als auch 3D-Grafiken. In Godot Version 4 Das Android Dynamic Performance Framework (ADPF) ist ein leistungsstarkes Tool von Google für Entwickler, die die Leistung ihrer Apps optimieren möchten. Über seine thermischen APIs bietet ADPF Echtzeitinformationen zum thermischen Zustand des NCSoft Lineage W ist ein Massively Multiplayer Online Role-Playing Game (MMORPG), das von NCSoft entwickelt wurde. Dieses Spiel baut auf dem Originalspiel Lineage W auf und bietet eine Umgebung, in der Spieler aus der ganzen Welt über globale Server Die Verbesserung der Leistung und der Temperaturverwaltung ist für die Entwicklung erfolgreicher Spiele auf Android unerlässlich. Bisher mussten Entwickler diese Probleme durch eine geringere Spieltreue oder eine weitere Optimierung des Renderers Call of Duty: Warzone Mobile ist ein Ego-Shooter aus der beliebten Call of Duty -Reihe. Bei der mobilen Version des äußerst beliebten Konsolen- und PC-Spiels werden mobile Low-Level-APIs genutzt, um eine hervorragende Nutzererfahrung zu bieten. Aus Summoners War: Chronicles ist ein mobiles MMORPG des südkoreanischen Spieleentwicklers Com2uS, das im März 2023 weltweit veröffentlicht wurde. Bis heute hat Summoners War mit über 180 Millionen Downloads weltweit über 2, 7 Milliarden $eingenommen. In Summoners War: Chronicles US(WW) und KR von Com2uS wird ausschließlich Vulkan für das Rendering auf Android verwendet. Dadurch konnte die Leistung um bis zu 30 % gesteigert werden. Vulkan ist eine moderne, plattformübergreifende 3D-Grafik-API, die Ares: Rise of Guardians ist ein Sci-Fi-MMORPG für Mobilgeräte und PC, das von Second Dive entwickelt wurde, einem Spielestudio mit Sitz in Korea, das für seine Expertise in der Entwicklung von Action-RPG-Serien bekannt ist. Das Spiel wird von Kakao Cat Daddy Games ist ein zu 100 % im Besitz von 2K befindliches Studio mit Sitz in Kirkland, Washington, und der Entwickler von NBA 2K Mobile.
Das Team wollte die allgemeine Qualität und Stabilität seiner Spiele verbessern, insbesondere durch die Devsisters ist ein globaler Entwickler und Publisher von Spielen für Mobilgeräte, der Casual-Games auf der Grundlage der Cookie Run-IP entwickelt. Zu den beliebtesten Spielen von Devsisters gehören Cookie Run: OvenBreak (Lauf-Arcade) und Cookie Run: NEW STATE Mobile ist ein Battle Royale-Spiel von Krafton, das im November 2021 weltweit veröffentlicht wurde und im ersten Monat nach der Veröffentlichung mehr als 45 Millionen Downloads verzeichnete. KRAFTON, Inc. ist ein Zusammenschluss Spokko ist ein in Polen ansässiges Team von ehrgeizigen Entwicklern, die mit einer sehr anspruchsvollen IP arbeiten. Spokko ist zwar Teil der CD PROJEKT-Familie, aber ein unabhängiges Unternehmen, das die großartige Welt von The Witcher: Monster Cat Daddy Games ist ein zu 100 % im Besitz von 2K befindliches Studio in Kirkland, Washington. Die Teams hinter den Serien „NBA 2K Mobile“, „NBA SuperCard“ und „WWE SuperCard“ suchten nach einer Lösung, um die Gesamtqualität ihrer Spiele für Nutzer Electronic Arts (EA) ist ein Spieleunternehmen mit Sitz in Kalifornien, USA. Das Unternehmen entwickelt eine Vielzahl von Spielen aus verschiedenen Genres wie Sport, Action, Rennspiele und Simulationen. Das Entwicklungsstudio von EA, Firemonkeys, ist Die Unreal Engine ist eine von Epic Games entwickelte Game-Engine, die Creatorn aus verschiedenen Branchen die Freiheit und Kontrolle bietet, innovative Unterhaltung, überzeugende Visualisierungen und immersive virtuelle Welten zu schaffen. Einige Der in Warschau ansässige Spieleentwickler CD Projekt RED (CDPR) hat sein Minispiel aus „The Witcher 3“, GWENT: The Witcher Card Game, neu konzipiert und im März 2020 als eigenständigen Free-to-Play-Titel bei Google Play veröffentlicht.
Aufgrund der Der US-amerikanische Entwickler RV AppStudios hat mit seinem Portfolio an Casual-Games, Lern-Apps für Kinder und Dienstprogramm-Apps bisher über 200 Millionen Downloads erzielt. Als einer der ersten Tester der Play Asset Delivery mit der App Puzzle Seit über 20 Jahren entwickelt Gameloft innovative Spiele für digitale Plattformen – von mobilen Spielen bis hin zu plattformübergreifenden PC- und Konsolentiteln. Neben seinen eigenen etablierten Franchises entwickelt Gameloft Spiele für beliebte 2000 wurde Gameloft gegründet, um Spieler auf der ganzen Welt mit spannenden Spielen zu begeistern. Das Unternehmen war einer der ersten Entwickler von Spielen für Mobilgeräte und hat mittlerweile ein Portfolio von über 190 Spielen. Viele der mobilen Pixonic ein Team von Videospielentwicklern mit Hauptsitz in Moskau, stolz auf
Er nutzte jede Gelegenheit, seine mobilen Apps zu aktualisieren,
von Gamern. Eines der bekanntesten Titel des Unternehmens ist War Robots Ein PvP-Spiel für 12 Personen, in Gameloft möchte Nutzern auch unterwegs fesselnde Spielerlebnisse bieten. Genau darum entschied sich der Entwickler für ChromeOS als Plattform für Asphalt 8: Airborne, seine neue Autorennen-App für Mobilgeräte. Gameloft hatte zwar umfassende ErfahrungMir 2 verbessert die Renderingleistung durch Swappy
Kuro Games reduziert den Energieverbrauch um 9,68% mit dem Android Studio Power Profiler und ODPM für Wuthering Waves
Vulkan-Optimierung der Godot Engine für Android
Erste Schritte mit dem Android Dynamic Performance Framework (ADPF) in der Unreal Engine
NCSoft Lineage W verbessert die dauerhafte Leistung und verhindert durch Nutzung von ADPF die Drosselung der Überhitzung
MediaTek verbessert die dynamische Leistung von Android-SoCs
Call of Duty Warzone Mobile nutzt Vulkan für eine bessere Grafik
Com2uS – Google Play Spiele für PC
Com2uS nutzt Vulkan für bessere Grafiken
Kakao Games erhöht die FPS-Stabilität mit Android Adaptability auf 96 %
2K reduziert die ANR-Rate mit dem Android Game Development Kit um 35 %
Cookie Run: OvenBreak spart mit Play Asset Delivery mehr als 200.000 $CDN-Kosten
NEW STATE Mobile reduziert die GPU-Nutzung mit dem Android GPU-Prüfer um 22 %
„The Witcher: Monster Slayer“ erhöht die Reichweite dank dem Android Performance Tuner
2K liefert höhere Grafikqualität dank Play Asset Delivery
Firemonkeys reduziert Entwicklungs- und Debuggingzeit mit AGDE
„AGDE ist verdammt cool!“ für die Android-Entwicklung mit der Unreal Engine
CD Projekt RED reduziert Updategröße um 90 % und erhöht Updateraten um 10 % dank Play Asset Delivery
RV AppStudios verbessert die Nutzerbindung mit Google Play Asset Delivery
Gameloft reduziert den Geräteenergieverbrauch um 70 % und ermöglicht so eine um 35% längere Spielzeit mit der Game Mode API
Gameloft gewinnt mit Google Play Asset Delivery 10% mehr neue Nutzer
Pixonic steigerte durch Optimierung für große Bildschirme die Interaktion auf ChromeOS um 25 %
Gameloft erzielt neunmal höheren Umsatz durch Optimierung seines Spiels für ChromeOS
Derzeit liegen keine Empfehlungen vor.
Versuchen Sie, sich bei Ihrem Google-Konto anzumelden.