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 sich die Testergebnisse ansehen.

Informationen zur Verwendung von Test Suite und zum Einreichen Ihrer Testergebnisse zur Zertifizierung bei Google 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.

  • Überprüft, ob die QUERY-Intent für Ihr Gerät implementiert ist und ihre Ergebnisse mit den Ergebnissen des Statusberichts übereinstimmen.

Sie können das Test Suite-Tool durch Klicken auf die Schaltfläche unten starten:

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-Aktion 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 Zeitüberschreitung für Statusbericht/Synchronisierungsanfrage unverändert. Sie können den Timeout-Wert jedoch für Testzwecke ändern, wenn Ihr Agent länger braucht, 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, die getestet wird, muss immer mindestens ein Gerät mit dem Agent-Nutzer verknüpft sein.

    3. Wenn Sie das Merkmal Scene verwenden, wählen Sie Test Scene trait 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. Sobald die Tests abgeschlossen sind, klicken Sie auf Weiter, um die Ergebnisse anzuzeigen.

Die Testergebnisse umfassen die Anzahl der bestandenen und fehlgeschlagenen Tests sowie eine endgültige Punktzahl, die den Prozentsatz der bestandenen Tests angibt.

Validierungstest für die Kontoverknüpfung

Die Kontoverknüpfung spielt eine wichtige Rolle im Google Smart Home-Ökosystem. 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.

Testaufgaben Erklärung
Prüfen, ob das Zugriffstoken im JWT-Format vorliegt Für die Verknüpfung eines Google-Kontos werden Zugriffstoken im JWT-Format nicht empfohlen. Wird ein JWT-Format gefunden, 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 bereitgestellt werden, wenn das Zugriffstoken abläuft. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Aktualisierungstoken-Validierungstest

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 tauschen.
Testen Sie, ob das Zugriffstoken nach der Aktualisierung des Tokens aktualisiert wurde. Als Antwort auf Aktualisierungstoken-Anfragen sollten neue Zugriffstoken zurückgegeben werden. Wenn Ihr Server dasselbe Zugriffstoken bereitstellt, schlägt der Testlauf fehl.
Prüfen Sie, ob das noch gültige Zugriffstoken noch existiert. Die Ablaufzeit des Zugriffstokens wird angezeigt.
Prüfen Sie, ob das Aktualisierungstoken während der Aktualisierung rotiert wurde. Wir prüfen, ob sich die Aktualisierungstoken nach einer Aktualisierungstoken-Anforderung geändert haben. Wenn sich das Aktualisierungstoken ändert, sollte Ihr Server ein altes Aktualisierungstoken erst dann ungültig machen, wenn ein neues Aktualisierungstoken verwendet wurde, um Race Conditions zu vermeiden, die die Verknüpfung eines Benutzerkontos beeinträchtigen könnten. 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ösungsansätze aufgeführt.

Fehlermeldung Wie man das Problem löst
Die HomeGraph API wurde im Projekt <_id_> noch nicht verwendet oder ist deaktiviert. Stellen Sie sicher, dass Sie die HomeGraph API aktiviert haben.
Die angeforderte Entität wurde nicht gefunden. Prüfe, ob dein agentUserId gültig und mit deinem Dienst verknüpft ist.

Stellen Sie sicher, dass Sie die Berechtigung resourcemanager.projects.get für das Projekt ${your project id} besitzen und alle Berechtigungen im Zustimmungsbildschirm erteilt haben.

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

  1. Folgen Sie den Anweisungen unter Problembehandlung bei IAM-Berechtigungen, um sicherzustellen, dass Ihr Konto über die resourcemanager.projects.get Berechtigungen für das Projekt verfügt.
  2. Gehen Sie zur Seite Apps mit Zugriff auf Ihr Konto, um die folgenden Berechtigungen für "Testsuite für Smart Home" zu überprüfen:
    • Grundlegende Kontoinformationen
      1. Primäre E-Mail-Adresse für das Google-Konto abrufen
      2. Sehen Sie Ihre persönlichen Daten ein, einschließlich aller persönlichen Daten, die Sie öffentlich zugänglich gemacht haben.
    • Zusätzlicher Zugriff
      1. Nutzen Sie Ihre Assistant: umfassenden Zugriff auf Ihr 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.