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. Entwickler entscheiden, was und wie viel sie offenlegen.
Abbildung 2: Eine typische Schaltfläche mit einem Symbol und Text.
Bei einer Schaltfläche, die aus einem Symbol und einem Textelement besteht, enthält der Standard-Semantikbaum beispielsweise nur das Textlabel „Mag ich“. Das liegt daran, dass einige zusammensetzbare Funktionen, z. B. Text
, bereits einige Eigenschaften für den semantischen Baum freigeben. Mit einem Modifier
können Sie dem Semantikbaum Eigenschaften 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 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.