Semantik

UI-Tests in Compose verwenden die Semantik für die Interaktion mit der UI-Hierarchie. Wie der Name schon sagt, gibt die Semantik einer Benutzeroberfläche eine Bedeutung. In diesem Kontext kann ein „Teil der UI“ (oder ein Element) alles von einer einzelnen zusammensetzbaren Funktion bis zu einem Vollbildmodus bedeuten. Der Semantikbaum wird zusammen mit der UI-Hierarchie generiert und beschreibt die Hierarchie.

Weitere Informationen zur Semantik finden Sie im Allgemeinen 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: Eine typische UI-Hierarchie und ihr Semantikbaum.

Das Semantik-Framework wird hauptsächlich für die Zugänglichkeit verwendet. Daher werden bei Tests die Informationen genutzt, die von der Semantik über die UI-Hierarchie zur Verfügung gestellt werden. Die Entwickler entscheiden, was und wie viel angezeigt wird.

Eine Schaltfläche mit einer Grafik und Text

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

Beispiel: Bei einer solchen Schaltfläche, die aus einem Symbol und einem Textelement besteht, enthält die Standardsemantikstruktur nur das Textlabel "Gefällt mir". Das liegt daran, dass einige zusammensetzbare Funktionen wie Text bereits einige Attribute für den Semantikbaum verfügbar machen. Mit Modifier können Sie dem Semantikbaum Attribute hinzufügen.

MyButton(
    modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)

Weitere Ressourcen

  • Test-Apps unter Android: Die Haupt-Landingpage für Android-Tests bietet einen umfassenderen Überblick über die Grundlagen und Techniken von Tests.
  • Grundlagen des Testens:Weitere Informationen zu den Kernkonzepten des Testens einer Android-App.
  • Lokale Tests:Sie können einige Tests lokal auf Ihrer eigenen Workstation ausführen.
  • Instrumentierte Tests:Es empfiehlt sich, auch instrumentierte Tests durchzufü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.
  • Testen Sie verschiedene Bildschirmgrößen:Da Nutzer auf vielen Geräten zur Verfügung stehen, sollten Sie Tests für unterschiedliche Bildschirmgrößen durchführen.
  • Espresso: Diese Espresso-Kenntnisse sind zwar für ansichtsbasierte UIs vorgesehen, können aber für einige Aspekte von Compose-Tests hilfreich sein.