Google Home-Test-Suite

Die Google Home Test Suite ist eine Webanwendung, mit der du deine Smart-Home-Aktion selbst testen kannst. Die Test Suite generiert und führt automatisch Testfälle basierend auf den Geräten und Merkmalen aus, die mit deinem Konto verknüpft sind. Nach Abschluss der Tests kannst du die Testergebnisse ansehen.

Informationen zur Verwendung der Test Suite und zum Einreichen deiner Testergebnisse zur Zertifizierung bei Google findest du auf der Seite Smart-Home-Aktionen testen und freigeben. Diese Version der Test Suite ist speziell für die Entwicklung und Qualitätssicherung vorgesehen.

Die von der Test Suite ausgeführten Tests umfassen unter anderem Folgendes:

  • Es wird geprüft, ob Status melden und Synchronisierung anfordern für deine Geräte und Merkmale implementiert sind.

  • Es wird geprüft, ob der QUERY-Intent für dein Gerät implementiert ist und die Ergebnisse mit den Ergebnissen von „Status melden“ übereinstimmen.

Du kannst das Test Suite Tool starten, indem du auf die Schaltfläche unten klickst:

Start Test Suite

Aktion selbst testen

Im folgenden Abschnitt wird beschrieben, wie du die Test Suite auf deinem Gerät und in deinem Smart-Home-Aktionsprojekt ausführst. Für die Test Suite musst du dich anmelden, damit sie Geräte in deinem Google Home Graph prüfen und Befehle direkt an Google Assistant senden kann.

So testest du deine Aktion selbst:

  1. Öffne die Test Suite in deinem Webbrowser.
  2. Melde dich über die Schaltfläche oben rechts bei Google an.

  3. Konfiguriere die Projektdetails:

    1. Gib im Feld Projekt-ID die Projekt-ID für deine Smart-Home-Aktion ein.
    2. Klicke auf Weiter.
  4. Konfiguriere die Testeinstellungen:

    1. Wenn du deine Cloud-to-cloud Integration zertifizierst, lasse den Standardwert Zeitüberschreitung bei Status/Synchronisierung der Anfrage angeben unverändert. Für Tests kannst du den Wert für die Zeitüberschreitung jedoch ändern, wenn dein Agent mehr Zeit benötigt, um den Status an Home Graph zu melden.
    2. Wenn du deine Cloud-to-cloud Integration zertifizierst, muss die Option Synchronisierung der Anfrage testen aktiviert sein. Während des Tests wirst du aufgefordert, ein Gerät hinzuzufügen, zu aktualisieren oder zu entfernen und zu prüfen, ob sich die Geräteliste in Home Graph geändert hat. Änderungen werden über die Integration vorgenommen, die du testest. Für die Integration, die getestet wird, muss immer mindestens ein Gerät mit dem Agent-Nutzer verknüpft sein.

    3. Wenn du ein Scene Merkmal verwendest, wähle Szenenmerkmal testen aus.

    4. Wenn du die Test-Suite für Local Home-Geräte ausführst, wähle Unterstützt Local Home SDK aus.

      1. Wähle Lokale Ausführung oder Nahtlose Einrichtung aus.
      2. Klicke auf Unterstützt lokale Abfrage , wenn das Gerät den QUERY -Intent lokal verarbeiten kann.
  5. Führe einen Testlauf durch und sieh dir die Ergebnisse an:

    1. Klicke auf Weiter , um die Tests auszuführen. In der Benutzeroberfläche werden die Geräte und Merkmale angezeigt, die getestet werden.
  6. Rufe die Seite Ergebnisse und Einreichung auf:

    1. Klicke nach Abschluss der Tests auf Weiter, um die Ergebnisse anzusehen.

Die Testergebnisse umfassen die Anzahl der bestandenen und nicht bestandenen Tests sowie eine Endnote, die den Prozentsatz der bestandenen Tests angibt.

Validierungstest für die Kontoverknüpfung

Die Kontoverknüpfung spielt eine wichtige Rolle im Smart-Home-Ökosystem von Google. Beim Validierungstest für die Kontoverknüpfung in Test Suite wird dein OAuth-Dienst auf potenzielle Probleme geprüft.

Der Validierungstest für die Kontoverknüpfung enthält Tests zur Validierung von Zugriffstokens und Aktualisierungstokens:

Validierungstest für Zugriffstokens

Zugriffstokens, die von deinem Token-Austausch-Endpunkt zurückgegeben werden, werden getestet, um sicherzustellen, dass sie ein gültiges Format haben und mit einem gültigen Aktualisierungstoken zurückgegeben werden.

Testelemente Erklärung
Prüfen, ob das Zugriffstoken im JWT-Format vorliegt Für die Google-Kontoverknüpfung werden keine Zugriffstokens im JWT-Format empfohlen. Wenn ein JWT-Format gefunden wird, wird die folgende Warnung angezeigt: The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token.
Prüfen, ob ein ablaufendes Zugriffstoken ein Aktualisierungstoken hat Wenn das Zugriffstoken abläuft, muss ein Aktualisierungstoken angegeben werden. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Validierungstest für Aktualisierungstokens

Aktualisierungstokens werden getestet, um sicherzustellen, dass sie von deinem Token-Austausch-Endpunkt ordnungsgemäß gegen neue Zugriffstokens ausgetauscht werden.

Testelemente Erklärung
Aktualisierungstoken mit ungültigem Aktualisierungstoken, Überprüfung der Partnerantwort Dein Server sollte bei einer ungültigen Aktualisierungstoken-Anfrage einen HTTP-400-Fehler („Bad Request“) mit {"error": "invalid_grant"} zurückgeben. Wenn die Antwort nicht mit dem Fehlercode oder der Fehlermeldung übereinstimmt, schlägt dieser Testfall fehl. Weitere Informationen findest du unter Aktualisierungstokens gegen Zugriffstokens austauschen.
Prüfen, ob das Zugriffstoken nach der Aktualisierung des Tokens aktualisiert wurde Als Antwort auf Aktualisierungstoken Anfragen sollten neue Zugriffstokens zurückgegeben werden. Wenn dein Server dasselbe Zugriffstoken bereitstellt, schlägt der Testfall fehl.
Prüfen, ob das nicht abgelaufene Zugriffstoken noch gültig ist Die Ablaufzeit des Zugriffstokens wird angezeigt.
Prüfen, ob das Aktualisierungstoken während der Aktualisierung rotiert wurde Wir prüfen, ob sich Aktualisierungstokens nach einer Aktualisierungstoken-Anfrage ändern. Wenn sich das Aktualisierungstoken ändert, sollte dein Server ein altes Aktualisierungstoken erst ungültig machen, nachdem ein neues verwendet wurde. So werden Race-Bedingungen verhindert, die die Kontoverknüpfung eines Nutzers unterbrechen können. Der Test schlägt fehl, wenn du das alte Aktualisierungstoken ungültig machst, bevor das neue verwendet wird.

Fehlermeldungen

In der folgenden Tabelle sind einige häufig auftretende Fehlermeldungen und die empfohlene Lösung aufgeführt.

Fehlermeldung Lösung
Die HomeGraph API wurde im Projekt <_id_> noch nicht verwendet oder ist deaktiviert Achte darauf, dass du die HomeGraph API aktiviert hast.
Angefordertes Element nicht gefunden Prüfe, ob deine agentUserId gültig und mit deinem Dienst verknüpft ist.

Achte darauf, dass du die Berechtigung resourcemanager.projects.get für das Projekt ${your project id} hast und alle Berechtigungen auf dem Zustimmungsbildschirm erteilt hast.

Fehler beim Abrufen von Moduldaten: getModuleData-Fehler: HTTP-Fehlerantwort für https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Folge der Anleitung unter Fehlerbehebung bei IAM-Berechtigungen, um sicherzustellen, dass dein Konto die resourcemanager.projects.get Berechtigungen für das Projekt hat.
  2. Rufe die Seite Apps mit Zugriff auf mein Konto auf und prüfe die folgenden Berechtigungen für "Test-Suite für Smart Home":
    • Grundlegende Kontoinformationen
      1. Primäre E-Mail-Adresse Ihres Google-Kontos abrufen
      2. Persönliche Daten aufrufen, einschließlich aller Daten, die Sie öffentlich zugänglich gemacht haben
    • Weitere Zugriffsberechtigungen
      1. Assistant verwenden: umfassender Zugriff auf das Google-Konto
      2. Smart-Home-Geräte Ihres Home Graph untersuchen und steuern
    Wenn ein Berechtigungsfehler auftritt, entferne zuerst den Zugriff und erteile dann alle Berechtigungen auf dem Zustimmungsbildschirm, wenn du dich wieder anmeldest.

Testergebnisse senden

Deine Test Suite Ergebnisse müssen alle Tests bestehen, bevor du sie zur Zertifizierung einreichst. Wenn du Merkmale hast, die manuell getestet werden müssen, solltest du trotzdem das Test Suite Tool ausführen und das Ergebnis anhängen, auch wenn nicht alle Tests bestanden wurden.

So reichst du deine Testergebnisse ein und zertifizierst deine Cloud-to-cloud Integration:

  1. Nachdem du deine Testergebnisse erhalten hast und bereit bist, deine Cloud-to-cloud Integration zu zertifizieren, klicke in dem Test Suite Tool auf Senden.
  2. Rufe Google Home Developer Console > Cloud-to-cloud > Zertifizieren auf.
  3. Wähle die Integration aus, die du zertifizieren möchtest.
  4. Gib unter Dokumentation die ID deiner Test Suite Ergebnisse ein.
  5. Fülle alle Pflichtfelder aus und klicke auf Senden.