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. Mit Test Suite werden automatisch Testläufe basierend auf den Geräten und Attributen generiert und ausgeführt, die mit Ihrem Konto verknüpft sind. Nach Abschluss der Tests können Sie die Testergebnisse einsehen.

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

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

  • Prüft, ob Berichtsstatus und Synchronisierung anfordern für Ihre Geräte und Merkmale implementiert sind.

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

Sie können das Test Suite-Tool starten, indem Sie auf die Schaltfläche unten klicken:

Einführung von Test Suite

Aktion selbst testen

Im folgenden Abschnitt wird beschrieben, wie Sie Test Suite auf Ihrem Gerät und in Ihrem Smart Home-Aktionsprojekt ausführen. Für die Test Suite müssen Sie sich anmelden, damit sie Geräte in Ihrem Google Home Graph prüfen und Befehle direkt an Google Assistant senden kann.

So führen Sie einen Selbsttest für Ihre Action durch:

  1. Öffnen Sie in Ihrem Webbrowser das Test Suite.
  2. Melden Sie sich über die Schaltfläche rechts oben bei Google an.

  3. Konfigurieren Sie die Projektdetails:

    1. Geben Sie im Feld Projekt-ID die Projekt-ID für Ihre Smart Home Action ein.
    2. Klicken Sie auf Weiter.
  4. Konfigurieren Sie die Testeinstellungen:

    1. Wenn Sie Ihre Cloud-to-cloud-Integration zertifizieren, lassen Sie den Standardwert für Report State/Request Sync Timeout (Zeitüberschreitung für Statusbericht/Synchronisierungsanfrage) unverändert. Für Tests können Sie den Zeitüberschreitungswert jedoch ändern, wenn Ihr Agent mehr Zeit benötigt, um den Status an Home Graph zu melden.
    2. Wenn Sie Ihre Cloud-to-cloud-Integration zertifizieren, muss die Option Test Request Sync aktiviert sein. Während des Tests werden Sie 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 Sie testen. Für Ihre Integration im Test muss immer mindestens ein Gerät mit dem Agent-Nutzer verknüpft sein.

    3. Wenn Sie ein Scene-Merkmal verwenden, wählen Sie Test Scene trait (Test-Szene-Merkmal) aus.

    4. Wenn Sie die Testsuite für Local Home-Geräte ausführen, wählen Sie Unterstützt Local Home SDK aus.

      1. Wählen Sie Lokale Abwicklung oder Nahtlose Einrichtung aus.
      2. Klicken Sie auf Unterstützt lokale Anfragen, wenn das Gerät den Intent QUERY lokal verarbeiten kann.
  5. Führen Sie einen Testlauf durch und sehen Sie sich die Ergebnisse an:

    1. Klicken Sie auf Weiter, um mit dem Ausführen von Tests zu beginnen. Auf der Benutzeroberfläche werden die Geräte und Traits angezeigt, die getestet werden.
  6. Rufen Sie die Seite Ergebnisse und Einreichung auf:

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

Die Testergebnisse umfassen die Anzahl der bestandenen und fehlgeschlagenen Tests sowie eine Endpunktzahl, 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 Ihr OAuth-Dienst auf potenzielle Probleme geprüft.

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

Test der Zugriffstoken-Validierung

Von Ihrem Token-Austausch-Endpunkt zurückgegebene 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 im JWT-Format vorliegt Bei der Google-Konto-Verknü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 Sie, ob das ablaufende Zugriffstoken ein Aktualisierungstoken hat. Ein Aktualisierungstoken muss angegeben werden, wenn das Zugriffstoken ablaufen kann. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Test der Aktualisierungstoken-Validierung

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

Testelemente Erklärung
Aktualisierungstoken mit ungültigem Aktualisierungstoken aktualisieren. Partnerantwort wird geprüft. Ihr Server sollte bei einer ungültigen Anfrage für ein Aktualisierungstoken den HTTP-Fehler 400 (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 finden Sie unter Aktualisierungstokens gegen Zugriffstokens eintauschen.
Prüfen Sie, ob das Zugriffstoken nach der Tokenaktualisierung aktualisiert wurde. Als Antwort auf Anfragen für Aktualisierungstokens sollten neue Zugriffstokens zurückgegeben werden. Wenn Ihr Server dasselbe Zugriffstoken bereitstellt, schlägt der Testlauf fehl.
Prüfen Sie, ob das nicht abgelaufene Zugriffstoken noch gültig ist. Die Ablaufzeit des Zugriffstokens wird angezeigt.
Prüfen, ob das Aktualisierungstoken beim Aktualisieren rotiert wurde. Wir prüfen, ob sich Aktualisierungstokens nach einer Aktualisierungstokenanfrage ändern. Wenn sich das Aktualisierungstoken ändert, sollte Ihr Server ein altes Aktualisierungstoken erst nach der Verwendung eines neuen Aktualisierungstokens ungültig machen, um Race-Bedingungen zu vermeiden, die die Kontoverknüpfung eines Nutzers unterbrechen können. Der Test schlägt fehl, wenn Sie das alte Aktualisierungstoken ungültig machen, bevor das neue verwendet wird.

Fehlermeldungen

In der folgenden Tabelle sind einige häufig auftretende Fehlermeldungen und die empfohlenen Lösungen 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.
Die angeforderte Entität wurde nicht gefunden Prüfe, ob dein agentUserId gültig und mit deinem Dienst verknüpft ist.

Sie benötigen die Berechtigung resourcemanager.projects.get für das Projekt ${your project id} und müssen alle Berechtigungen auf dem Einwilligungsbildschirm erteilen.

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

  1. Folgen Sie der Anleitung unter IAM-Berechtigungen prüfen, um sicherzustellen, dass Ihr Konto die resourcemanager.projects.get-Berechtigungen für das Projekt hat.
  2. Rufen Sie die Seite Apps mit Zugriff auf mein Konto auf, um die folgenden Berechtigungen für „Testsuite für Smart Home“ zu prüfen:
    • Grundlegende Kontoinformationen
      1. Primäre E-Mail-Adresse für das Google-Konto abrufen
      2. Personenbezogene Daten aufrufen, einschließlich aller Daten, die Sie öffentlich zugänglich gemacht haben
    • Zusätzliche Zugriffsrechte
      1. Assistant verwenden: umfassender Zugriff auf das Google-Konto
      2. Smart-Home-Geräte Ihres Home Graphs untersuchen und steuern
    Wenn Sie einen Berechtigungsfehler erhalten, entfernen Sie zuerst den Zugriff und erteilen Sie dann alle Berechtigungen auf dem Einwilligungsbildschirm, wenn Sie sich wieder anmelden.

Testergebnisse einreichen

Ihre Test Suite-Ergebnisse müssen alle Tests bestehen, bevor Sie sie zur Zertifizierung einreichen. Wenn Sie Merkmale haben, die manuelle Tests erfordern, sollten Sie das Test Suite-Tool trotzdem ausführen und das Ergebnis anhängen, auch wenn es nicht zu 100 % bestanden wurde.

So reichen Sie Ihre Testergebnisse ein und zertifizieren Ihre Cloud-to-cloud-Integration:

  1. Nachdem Sie Ihre Testergebnisse erhalten haben und bereit sind, Ihre Cloud-to-cloud-Integration zu zertifizieren, klicken Sie im Test Suite-Tool auf Senden.
  2. Gehen Sie zu Google Home Developer Console > Cloud-to-cloud > Certify (Zertifizieren).
  3. Wählen Sie die Integration aus, die Sie zertifizieren möchten.
  4. Geben Sie unter Dokumentation die Test Suite-Ergebnis-ID ein.
  5. Füllen Sie alle Pflichtfelder aus und klicken Sie auf Senden.

    .