Semantik

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.

Diagramm mit einem typischen UI-Layout und der Zuordnung dieses Layouts zu einem entsprechenden semantischen Baum

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.

Eine Schaltfläche mit einer Grafik und Text

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.