UI-Tests in Compose verwenden Semantik, um mit der UI-Hierarchie zu interagieren. Semantik verleiht einem UI-Element, wie der Name schon sagt, eine Bedeutung. In diesem Kontext kann ein „UI-Element“ alles sein, von einer einzelnen zusammensetzbaren Funktion bis hin zu einem Vollbild. 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 der zugehörige Semantikbaum.
Das Semantik-Framework wird hauptsächlich für die Barrierefreiheit verwendet. Tests nutzen daher die Informationen, die durch die Semantik über die UI-Hierarchie bereitgestellt werden. Entwickler entscheiden, was und wie viel sie offenlegen.
Abbildung 2: Ein typischer Button mit einem Symbol und Text.
Bei einer Schaltfläche wie dieser, die aus einem Symbol und einem Textelement besteht, enthält der Standardsemantikbaum beispielsweise nur das Textlabel „Like“. Das liegt daran, dass einige zusammensetzbare Funktionen wie Text bereits einige Properties für den Semantikbaum bereitstellen. Sie können dem Semantikbaum Attribute mithilfe eines Modifier hinzufügen.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Zusätzliche Ressourcen
- Apps auf Android testen: Auf der Haupt-Landingpage für Android-Tests finden Sie einen umfassenderen Überblick über die Grundlagen und Techniken des Testens.
- Grundlagen des Testens: Hier finden Sie weitere Informationen zu den grundlegenden Konzepten für das Testen einer Android-App.
- Lokale Tests: Einige Tests können lokal auf Ihrer Workstation ausgeführt werden.
- 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.
- Verschiedene Bildschirmgrößen testen: Da Nutzer so viele verschiedene Geräte zur Verfügung haben, sollten Sie verschiedene Bildschirmgrößen testen.
- Espresso: Obwohl Espresso für ansichtsbasierte UIs gedacht ist, kann es auch für einige Aspekte von Compose-Tests hilfreich sein.