Semantik

Bei UI-Tests in Compose wird 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 Element) alles bedeuten, von einer einzelnen zusammensetzbaren Funktion bis hin zu einem Vollbildmodus. Der Semantikbaum wird zusammen mit der UI-Hierarchie generiert und beschreibt die Hierarchie.

Weitere Informationen zur Semantik finden Sie unter Semantik in Compose.

Diagramm, das ein typisches UI-Layout und die Art und Weise zeigt, wie dieses Layout einem entsprechenden semantischen Baum zugeordnet wird

Abbildung 1: Typische UI-Hierarchie und deren Semantikstruktur

Das Semantik-Framework wird hauptsächlich für Barrierefreiheit verwendet. In Tests werden also die Informationen genutzt, die durch die Semantik zur UI-Hierarchie bereitgestellt werden. Die Entwickler entscheiden, was und wie viel angezeigt werden soll.

Eine Schaltfläche mit einer Grafik und Text

Abbildung 2: Eine typische Schaltfläche mit einem Symbol und Text.

Bei einer solchen Schaltfläche, 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 wie Text bereits einige Attribute der Semantikstruktur zur Verfügung stellen. Sie können der Semantikstruktur mit einem 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.
  • Testgrundlagen:Hier findest du weitere Informationen zu den Kernkonzepten, die dem Testen von Android-Apps zugrunde liegen.
  • Lokale Tests:Sie können einige Tests 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.
  • Kontinuierliche Integration: Mit der kontinuierlichen Integration können Sie Ihre Tests in Ihre Bereitstellungspipeline einbinden.
  • Verschiedene Bildschirmgrößen testen:Da einige Geräte den Nutzern zur Verfügung stehen, solltest du 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.