Bei UI-Tests in Compose wird die Semantik verwendet, um mit der UI-Hierarchie zu interagieren. Die Semantik gibt, wie der Name schon sagt, einem UI-Element einen Sinn. In diesem Zusammenhang kann ein „UI-Element“ (oder -Teil) alles von einem einzelnen Composeable bis hin zu einem Vollbild sein. Der Semantikbaum wird zusammen mit der UI-Hierarchie generiert und beschreibt die Hierarchie.
Weitere Informationen zur Semantik im Allgemeinen finden Sie unter Semantik in Compose.
Abbildung 1: Eine typische UI-Hierarchie und ihr Semantikbaum.
Das semantische Framework wird hauptsächlich für die Barrierefreiheit verwendet. Bei Tests werden daher die Informationen genutzt, die die Semantik über die UI-Hierarchie preisgibt. Die Entwickler entscheiden, was und wie viel angezeigt werden soll.
Abbildung 2. Eine typische Schaltfläche mit einem Symbol und Text.
Bei einer Schaltfläche wie dieser, die aus einem Symbol und einem Textelement besteht, enthält die Standardsemantik nur das Textlabel „Gefällt mir“. Das liegt daran, dass einige zusammensetzbare Funktionen, z. B. Text
, bereits einige Eigenschaften für den semantischen Baum freigeben. Sie können der Semantikstruktur mithilfe von Modifier
Attribute hinzufügen.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Zusätzliche Ressourcen
- Apps unter Android testen: Die Haupt-Landingpage für Android-Tests bietet einen umfassenderen Überblick über die Grundlagen und Testverfahren.
- 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: Diese Funktion ist zwar für Ansichtsbasierte Benutzeroberflächen gedacht, kann aber bei einigen Aspekten des Compose-Tests hilfreich sein.