Bei UI-Tests in Compose wird Semantik verwendet, um mit der UI-Hierarchie zu interagieren. Wie der Name schon sagt, verleiht Semantik einem UI-Element Bedeutung. In diesem Zusammenhang kann ein „UI-Element“ alles von einem einzelnen zusammensetzbaren Element bis hin zu einem vollständigen Bildschirm 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 : Eine typische UI-Hierarchie und ihr Semantikbaum.
Das Semantik-Framework wird hauptsächlich für die Barrierefreiheit verwendet. Tests nutzen daher die Informationen, die von der Semantik über die UI-Hierarchie bereitgestellt werden. Entwickler entscheiden, was und wie viel bereitgestellt wird.
Abbildung 2 Eine typische Schaltfläche mit einem Symbol und Text.
Wenn Sie beispielsweise eine Schaltfläche wie diese haben, die aus einem Symbol und einem Text
element besteht, enthält der Standard-Semantikbaum nur die Textlabel „Gefällt mir“. Das liegt daran, dass einige zusammensetzbare Elemente wie Text bereits einige Eigenschaften für den
Semantikbaum bereitstellen. Sie können dem Semantikbaum mit einem
Modifier Eigenschaften hinzufügen.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Zusätzliche Ressourcen
- Apps auf Android testen: Auf der Hauptseite zum Testen von Android-Apps 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.