Bei UI-Tests in Compose wird die Semantik verwendet, um mit der UI-Hierarchie zu interagieren. Semantik, wie der Name schon sagt, gibt einer Benutzeroberfläche eine Bedeutung. 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 finden Sie unter Semantik in Compose.
Abbildung 1. Typische UI-Hierarchie und deren Semantikstruktur
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 wie dieser, die aus einem Symbol und einem Text besteht,
enthält, enthält die standardmäßige Semantikstruktur nur die Textbeschriftung "Gefällt mir". Dies ist
da einige zusammensetzbare Funktionen wie Text
bereits einige Attribute für den
Semantikbaum. Sie können der Semantikstruktur Eigenschaften hinzufügen, indem Sie ein
Modifier
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Zusätzliche Ressourcen
- Apps unter Android testen: Hier werden die wichtigsten Android-Tests aufgeführt. Landingpage einen umfassenderen Überblick über die Grundlagen und Techniken von Tests bietet.
- Testgrundlagen:Weitere Informationen Kernkonzepte beim Testen einer Android-App.
- Lokale Tests:Sie können einige Tests ausführen. lokal auf Ihrer eigenen Workstation.
- Instrumentierte Tests: Es empfiehlt sich, auch instrumentierte Tests auszuführen. Das sind Tests, die direkt auf dem Gerät.
- Continuous Integration: Mit Continuous Integration können Sie Ihre Tests in Ihre Bereitstellung einbinden zu erstellen.
- Verschiedene 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 für einige Aspekte von Compose-Tests hilfreich sein.