Google Home-Test-Suite

Cloud-to-Cloud    Local Home SDK

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 kannst du dir 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 Berichtsstatus und Synchronisierung anfordern für Ihre Geräte und Traits 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:

Test Suite starten

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 das Test Suite ist eine Anmeldung erforderlich, damit Geräte in Google Home Graph geprüft und Befehle direkt an Google Assistant gesendet werden können.

So testest du deine Aktion selbst:

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

  3. Konfigurieren Sie die Projektdetails:

    1. Gib im Feld Projekt-ID die Projekt-ID für deine Smart-Home-Aktion ein.
    2. Klicken Sie auf Weiter.
  4. Konfigurieren Sie die Testeinstellungen:

    1. Lassen Sie bei der Zertifizierung Ihrer Smart-Home-Aktion den Standardwert für Statusbericht/Zeitüberschreitung anfordern 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 von Anfragen testen 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 eine Eigenschaft Scene verwenden, wählen Sie Szenenzugehörigkeit testen 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 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 die Tests zu starten. Die Benutzeroberfläche zeigt die Geräte und Traits, die getestet werden.
  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 und 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 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.

Testobjekte Erklärung
Prüfen, ob das Zugriffstoken das JWT-Format hat 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 für die Prüfung hat ein Aktualisierungstoken. Ein Aktualisierungstoken muss angegeben werden, wenn das Zugriffstoken abläuft. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Validierungstest für das Aktualisierungstoken

Aktualisierungstokens werden getestet, um sicherzustellen, dass Ihr Endpunkt für den Tokenaustausch sie ordnungsgemäß gegen neue Zugriffstokens austauscht.

Testobjekte Erklärung
Aktualisierungstoken mit ungültigem Aktualisierungstoken. Prüfung der Partnerantwort. Ihr Server sollte bei einer ungültigen Aktualisierungstoken-Anfrage 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 findest du unter Aktualisierungstokens gegen Zugriffstokens austauschen.
Testen Sie, ob das Zugriffstoken nach der Tokenaktualisierung aktualisiert wurde. Neue Zugriffstokens sollten als Antwort auf Aktualisierungstoken-Anfragen zurückgegeben werden. Wenn dein Server dasselbe Zugriffstoken bereitstellt, schlägt der Testlauf fehl.
Prüfen Sie, ob das abgelaufene 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 vor der Verwendung des neuen Tokens entwerten.

Fehlermeldungen

In der folgenden Tabelle sind einige häufige Fehlermeldungen und die empfohlene Lösung aufgeführt.

Fehlermeldung Problemlösung
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 Ihr 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 auf dem Zustimmungsbildschirm 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 zu prüfen, ob Ihr Konto die resourcemanager.projects.get-Berechtigungen für das Projekt hat.
  2. Rufe die Seite Apps mit Zugriff auf dein Konto auf und prüfe die folgenden Berechtigungen für „Test-Suite 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 Sie öffentlich zugänglich gemacht haben
    • 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 bei der nächsten Anmeldung alle Berechtigungen auf dem Zustimmungsbildschirm.

Testergebnisse senden

Die Test Suite-Ergebnisse müssen 100% der Tests bestanden haben, bevor Sie Ihr Zertifizierungsformular senden 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 nicht bei 100 % bestanden hat.

So kannst du Testergebnisse einreichen und deine Smart-Home-Aktion zertifizieren:

  1. Nachdem 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 ZUM EINREICHUNGSFORMULAR, um die Testergebnisse an Google zu senden.
  4. Füllen Sie alle Pflichtfelder aus und klicken Sie dann auf Senden.