Google Home-Test-Suite

Cloud-zu-Cloud    Local Home SDK

Die Google Home Test Suite ist eine Webanwendung, mit der Sie Ihre Smart-Home-Aktion selbst testen können. Der Test Suite generiert und führt automatisch Testfälle basierend auf den Geräten und Merkmalen aus, die mit Ihrem Konto verknüpft sind. Nach Abschluss der Tests können Sie die Testergebnisse einsehen.

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

Zu den von der Test Suite ausgeführten Tests gehören unter anderem:

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

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

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

Test Suite starten

Aktion selbst testen

Im folgenden Abschnitt wird beschrieben, wie Sie die Test Suite auf Ihrem Gerät und in Ihrem Smart-Home-Action-Projekt ausführen. Sie müssen sich in der Test Suite 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 Aktion durch:

  1. Öffnen Sie in Ihrem Webbrowser 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. Lassen Sie den Standardwert für Report State/Request Sync Timeout (Status melden/Synchronisierungstimeout anfordern) unverändert, wenn Sie Ihre Cloud-to-cloud-Integration zertifizieren. 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 Synchronisierung anfordern 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. Änderungsaktionen werden über die getestete Integration ausgeführt. Für die zu testende Integration muss immer mindestens ein Gerät mit dem Kundenservicemitarbeiter verknüpft sein.

    3. Wenn Sie ein Scene-Attribut verwenden, wählen Sie Test-Szenenattribut 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 Auftragsausführung oder Einfache Einrichtung aus.
      2. Klicken Sie auf Unterstützt lokale Abfrage, wenn das Gerät die QUERY-Intention 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 getesteten Geräte und Merkmale angezeigt.
  6. Rufen Sie die Seite Ergebnisse und Einreichung auf:

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

Die Testergebnisse umfassen die Anzahl der bestandenen und nicht bestandenen Tests sowie eine abschließende Punktzahl, die den Prozentsatz der bestandenen Tests angibt.

Validierungstest für die Kontoverknüpfung

Die Kontoverknüpfung spielt im Google-Smart-Home-System eine wichtige Rolle. 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 zur Validierung von Zugriffstokens und Aktualisierungstokens:

Test zur Validierung von Zugriffstokens

Zugriffstokens, die von Ihrem Token-Austausch-Endpunkt zurückgegeben werden, werden auf ein gültiges Format geprüft und mit einem gültigen Aktualisierungstoken zurückgegeben.

Testelemente Erklärung
Prüfen, ob das Zugriffstoken im JWT-Format ist 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. Ein Aktualisierungstoken muss angegeben werden, wenn das Zugriffstoken ablaufen kann. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Test zur Validierung von Aktualisierungstokens

Aktualisierungstokens werden getestet, um sicherzustellen, dass sie von Ihrem Token-Austauschendpunkt ordnungsgemäß gegen neue Zugriffstokens eingetauscht werden.

Testelemente Erklärung
Aktualisierungstoken mit ungültigem Aktualisierungstoken. Partnerantwort wird geprüft. Dein Server sollte bei einer ungültigen Aktualisierungstoken-Anfrage einen HTTP-400-Fehler vom Typ „Bad Request“ mit {"error": "invalid_grant"} zurückgeben. Wenn die Antwort nicht mit dem „Fehlercode oder der Fehlermeldung“ übereinstimmt, schlägt dieser Test fehl. Weitere Informationen finden Sie unter Aktualisierungstokens gegen Zugriffstokens austauschen.
Testen, ob das Zugriffstoken nach der Tokenaktualisierung aktualisiert wurde Neue Zugriffstokens sollten als Antwort auf Aktualisierungstokenanfragen zurückgegeben werden. Wenn Ihr Server dasselbe Zugriffstoken bereitstellt, schlägt der Test fehl.
Prüfen Sie, ob das nicht abgelaufene Zugriffstoken noch gültig ist. Die Ablaufzeit des Zugriffstokens wird angezeigt.
Prüfen, ob das Aktualisierungstoken während der Aktualisierung ersetzt wurde. Wir prüfen, ob Aktualisierungstokens nach einer Aktualisierungstokenanfrage geändert werden. Wenn sich das Aktualisierungstoken ändert, sollte dein Server ein altes Aktualisierungstoken erst ungültig machen, nachdem ein neues verwendet wurde. So lassen sich Race-Bedingungen vermeiden, die die Kontoverknüpfung eines Nutzers beeinträchtigen 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 empfohlene Lösung aufgeführt.

Fehlermeldung Lösung
Die HomeGraph API wurde im Projekt <_id_> noch nicht verwendet oder ist deaktiviert. Achten Sie darauf, dass die HomeGraph API aktiviert ist.
Angeforderte Entität nicht gefunden Prüfen Sie, ob Ihre agentUserId gültig ist und mit Ihrem 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 Bildschirm zur Einwilligung erteilt haben.

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 Fehlerbehebung bei IAM-Berechtigungen, 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 und prüfen Sie die folgenden Berechtigungen für „Testsuite für Smart Home“:
    • Allgemeine Kontoinformationen
      1. Primäre E-Mail-Adresse für das Google-Konto abrufen
      2. Persönliche Daten aufrufen, einschließlich aller Daten, die Sie öffentlich zugänglich gemacht haben
    • Zusätzliche Zugriffsrechte
      1. Assistant verwenden: umfassender 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 gewähren Sie alle Berechtigungen auf dem Einwilligungsbildschirm, wenn Sie sich wieder anmelden.

Testergebnisse senden

Sie müssen 100% der Test Suite-Tests bestehen, bevor Sie das Zertifizierungsformular einreichen können. 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 hat.

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

  1. Nachdem Sie die Testergebnisse erhalten haben und Ihre Cloud-to-cloud-Integration zertifizieren möchten, klicken Sie im Test Suite-Tool auf Senden.
  2. Klicken Sie auf die Schaltfläche TESTERGEBNISSE HERUNTERLADEN, um die Testergebnisse abzurufen.
  3. Klicken Sie auf ZUM ABSENDEN DES FORMS GEHEN, um die Testergebnisse an Google zu senden.
  4. Füllen Sie alle Pflichtfelder aus und klicken Sie dann auf Senden.