Google Home-Test-Suite

Cloud-to-Cloud    Local Home SDK

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 einsehen.

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:

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 es länger dauert, bis dein Agent den Status an Home Graph meldet.
    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. Auf 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 aufzurufen.

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

Test zur Validierung der Kontoverknüpfung

Die Kontoverknüpfung spielt eine wichtige Rolle im Google Smart-Home-Ökosystem. Mit dem Test zur Validierung der Kontoverknüpfung in Test Suite wird dein OAuth-Dienst auf potenzielle Probleme geprüft.

Der Test zur Validierung der Kontoverknüpfung enthält Tests zur Validierung von Zugriffstokens und Aktualisierungstokens:

Test zur Validierung von Zugriffstokens

Die von deinem Token-Austausch-Endpunkt zurückgegebenen Zugriffstokens 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 das JWT-Format hat 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 das ablaufende Zugriffstoken ein Aktualisierungstoken hat Wenn das Zugriffstoken abläuft, muss ein Aktualisierungstoken angegeben werden. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Test zur Validierung von Aktualisierungstokens

Aktualisierungstokens werden getestet, um sicherzustellen, dass dein Token-Austausch-Endpunkt sie ordnungsgemäß gegen neue Zugriffstokens austauscht.

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 Aktualisierungstoken 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.
Requested Entity not found (Die angeforderte Entität wurde 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 Einwilligungsbildschirm gewährt hast.

Error getting module data: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 (Fehler beim Abrufen von Moduldaten: Fehler bei getModuleData: 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 des Google-Kontos abrufen
      2. Personenbezogene Daten aufrufen, einschließlich aller Daten, die du öffentlich zugänglich gemacht hast
    • Weitere Zugriffsberechtigungen
      1. Assistant verwenden: umfassender Zugriff auf dein Google-Konto
      2. Smart-Home-Geräte deines Home Graphs untersuchen und steuern
    Wenn ein Berechtigungsfehler auftritt, entferne zuerst den Zugriff und gewähre dann alle Berechtigungen auf dem Zustimmungsbildschirm, wenn du dich wieder anmeldest.

Testergebnisse einreichen

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

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 der Test Suite auf Einreichen.
  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 Einreichen.

    Cloud-to-cloud