Google Home-Test-Suite

Die Google Home Test Suite ist eine Webanwendung, mit der du deine Smart-Home-Aktion selbst testen kannst. Test Suite generiert automatisch Testläufe und führt sie anhand der mit deinem Konto verknüpften Geräte und Traits aus. Nach Abschluss der Tests können Sie sich die Testergebnisse ansehen oder das Formular ausfüllen, um die Testergebnisse an Google zu senden.

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

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

  • Überprüft, ob der Intent QUERY für Ihr Gerät implementiert ist und seine Ergebnisse mit den Ergebnissen des Berichtsstatus übereinstimmen.

Klicken Sie zum Starten des Test Suite-Tools auf die folgende Schaltfläche:

Starten Test Suite

Aktion selbst testen

Im folgenden Abschnitt wird beschrieben, wie du Test Suite auf deinem Gerät und deinem Smart-Home-Aktionsprojekt ausführst. Für Test Suite müssen Sie sich anmelden, damit Geräte in Ihrem Google Home Graph geprüft und Befehle direkt an Google Assistant gesendet werden können.

So kannst du deine Aktion selbst testen:

  1. Öffnen Sie in Ihrem Webbrowser die Test Suite.
  2. Melden Sie sich mit der Schaltfläche oben rechts in 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 du deine Smart-Home-Aktion zertifizieren möchtest, behalte den Standardwert für Statusbericht/Zeitüberschreitung bei Anfrage der Synchronisierung unverändert. Zum Testen können Sie den Zeitüberschreitungswert jedoch ändern, wenn der Agent mehr Zeit benötigt, um den Status an Home Graph zu melden.
    2. Achten Sie bei der Zertifizierung Ihrer Smart-Home-Aktion darauf, dass die Option Synchronisierung der Testanfrage aktiviert ist. 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 Integration ausgeführt, die Sie testen. An Ihre zu testende Integration muss immer mindestens ein Gerät an den Agent-Nutzer angehängt sein.

    3. Wenn Sie die Trait 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 das Local Home SDK aus.

      1. Wählen Sie Lokale Auftragsausführung oder Nahtlose Einrichtung aus.
      2. Klicken Sie auf Unterstützt lokale Abfrage, 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 der Ausführung der Tests zu beginnen. Die Benutzeroberfläche zeigt die Geräte und Traits, die getestet werden.
  6. So rufen Sie die Seite Ergebnisse und Einreichung auf:

    1. Wenn die Tests abgeschlossen sind, klicken Sie auf Weiter, um die Ergebnisse aufzurufen.

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

Validierungstest für die Kontoverknüpfung

Die Kontoverknüpfung spielt eine wichtige Rolle im Smart-Home-System von Google. Mit dem Validierungstest für die Kontoverknüpfung in Test Suite wird dein OAuth-Dienst auf mögliche Probleme geprüft.

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

Validierungstest für Zugriffstoken

Zugriffstokens, die vom Endpunkt des Tokenaustauschs 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 Bei der 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.
Das Ablaufdatum des Zugriffstokens der Prüfung hat ein Aktualisierungstoken. Wenn das Zugriffstoken abläuft, muss ein Aktualisierungstoken angegeben werden. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Token-Validierungstest aktualisieren

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

Testelemente Erklärung
Aktualisierungstoken mit ungültigem Aktualisierungstoken, Überprüfung der Partnerantwort. Ihr Server sollte bei einer ungültigen Aktualisierungstokenanfrage den Fehler „HTTP 400 Bad Request“ mit {"error": "invalid_grant"} zurückgeben. Wenn die Antwort nicht mit dem Fehlercode oder der Fehlermeldung übereinstimmt, schlägt dieser Testlauf fehl. Weitere Informationen finden Sie unter Aktualisierungstoken gegen Zugriffstokens austauschen.
Testen Sie, ob das Zugriffstoken nach der Tokenaktualisierung aktualisiert wurde. Als Antwort auf Aktualisierungstoken-Anfragen sollten neue Zugriffstokens zurückgegeben werden. Wenn Ihr Server dasselbe Zugriffstoken bereitstellt, schlägt der Testlauf fehl.
Prüfen Sie, ob das uneingeschränkte Zugriffstoken noch gültig ist. Die Ablaufzeit des Zugriffstokens wird angezeigt.
Prüfen Sie, ob das Aktualisierungstoken während der Aktualisierung rotiert wurde. Wir prüfen, ob Aktualisierungstokens nach einer Aktualisierungstoken-Anforderung geändert werden. Wenn sich das Aktualisierungstoken ändert, sollte Ihr Server ein altes Aktualisierungstoken erst entwerten, nachdem ein neues verwendet wurde. So vermeiden Sie Race-Bedingungen, die die Kontoverknüpfung eines Nutzers beeinträchtigen können. Der Test schlägt fehl, wenn Sie das alte Aktualisierungstoken entwerten, bevor das neue verwendet wird.

Fehlermeldungen

In der folgenden Tabelle sind einige häufige Fehlermeldungen aufgeführt, die auftreten können, sowie die empfohlene Lösung.

Fehlermeldung Problemlösung
Die HomeGraph API wurde im Projekt <_id_> noch nicht verwendet oder ist deaktiviert Prüfen Sie, ob die HomeGraph API aktiviert ist.
Angeforderte Entität nicht gefunden Prüfen Sie, ob die agentUserId gültig und mit Ihrem Dienst verknüpft ist.

Prüfen Sie, ob Sie die Berechtigung resourcemanager.projects.get für das Projekt ${your project id} und alle Berechtigungen im Zustimmungsbildschirm haben.

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

  1. Folgen Sie der Anleitung unter Fehlerbehebung bei IAM-Berechtigungen, um zu prüfen, ob Ihr Konto die Berechtigungen resourcemanager.projects.get 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. Personenbezogene Daten abrufen, einschließlich aller personenbezogenen Daten, die du öffentlich zugänglich gemacht hast
    • Zusätzlicher Zugriff
      1. Assistant verwenden: umfassenden Zugriff auf Ihr Google-Konto
      2. Smart-Home-Geräte in Home Graph untersuchen und steuern
    Wenn Sie einen Berechtigungsfehler erhalten, entfernen Sie zuerst den Zugriff und gewähren Sie alle Berechtigungen auf dem Zustimmungsbildschirm, wenn Sie sich wieder anmelden.

Testergebnisse senden

Die Test Suite-Ergebnisse müssen 100% der Tests bestehen, bevor Sie das Zertifizierungsformular einreichen können. Wenn Sie Eigenschaften haben, die manuelle Tests erfordern, sollten Sie trotzdem das Test Suite-Tool ausführen und das Ergebnis anhängen, auch wenn es noch nicht bei 100 % liegt.

Gehe so vor, um deine Testergebnisse einzureichen und deine Smart-Home-Aktion zu zertifizieren:

  1. Wenn du die Testergebnisse erhalten hast und bereit bist, deine Smart-Home-Aktion zu zertifizieren, klicke im Test Suite-Tool auf Senden.
  2. Klicken Sie auf die Schaltfläche TESTERGEBNISSE HERUNTERLADEN, um die Testergebnisse abzurufen.
  3. Klicken Sie auf ZUR ÜBERMITTLUNGSFORMULAR, um die Testergebnisse an Google zu senden.
  4. Füllen Sie alle Pflichtfelder aus und klicken Sie dann auf Senden.