Google Home-Test-Suite

Cloud-zu-Cloud    Local Home SDK

Google Home Test Suite ist eine Webanwendung, mit der du deine Smart-Home-Aktion selbst testen kannst. Das Test Suite generiert automatisch Testläufe basierend auf den Geräten und Merkmalen, die mit deinem Konto verknüpft sind, und führt diese aus. Nach Abschluss der Tests kannst du die Testergebnisse ansehen oder das Einreichungsformular ausfüllen, um die Testergebnisse an Google zu senden.

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

  • Prüft, ob Report State und Request Sync für Ihre Geräte und Traits implementiert sind.

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

Klicken Sie auf die Schaltfläche unten, um das Test Suite-Tool zu starten:

Test Suite starten

Teste deine Aktion selbst

Im folgenden Abschnitt wird beschrieben, wie du die Test Suite auf deinem Gerät und deinem Smart-Home-Aktionsprojekt ausführst. Du musst dich für Test Suite anmelden, damit Geräte in deiner Google Home Graph geprüft und Befehle direkt an Google Assistant gesendet werden können.

So kannst du einen Selbsttest für deine Aktion durchführen:

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

  3. Konfigurieren Sie die Projektdetails:

    1. Geben Sie im Feld Project ID (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, belasse den Standardwert für Report State/Request Sync Timeout (Status melden/Zeitüberschreitung bei Anfrage) unverändert. Sie können den Wert für die Zeitüberschreitung zu Testzwecken jedoch ändern, wenn Ihr Agent mehr Zeit benötigt, um den Status an Home Graph zu melden.
    2. Wenn du deine Smart-Home-Aktion zertifizieren lässt, muss die Option Test Request Sync (Synchronisierung testen) aktiviert sein. Während des Tests wirst du 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. An die zu testende Integration muss immer mindestens ein Gerät mit dem Agent-Nutzer verbunden sein.

    3. Wenn du das Merkmal Scene verwendest, wähle Trait testen aus.

    4. Wenn du die Testsuite für Local Home-Geräte ausführst, wähle 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 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. Die Benutzeroberfläche zeigt die Geräte und Eigenschaften, die getestet werden.
  6. So rufen Sie die Seite Ergebnisse und Einreichungen auf:

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

Die Testergebnisse enthalten die Anzahl der bestandenen und nicht bestandenen Tests sowie eine endgültige Punktzahl, die den Prozentsatz der bestandenen Prüfungen angibt.

Validierungstest für die Kontoverknüpfung

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

Der Test zur Validierung der Kontoverknüpfung enthält Tests zur Validierung von Zugriffstokens und Aktualisierungstokens:

Validierungstest für Zugriffstoken

Von Ihrem Tokenaustauschendpunkt zurückgegebene Zugriffstokens werden getestet, um sicherzustellen, dass sie ein gültiges Format haben und mit einem gültigen Aktualisierungstoken zurückgegeben werden.

Testartikel Erklärung
Prüfen, ob das Zugriffstoken im JWT-Format vorliegt Bei der Verknüpfung des Google-Kontos 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 ein ablaufendes Zugriffstoken ein Aktualisierungstoken hat. Wenn das Zugriffstoken abläuft, muss ein Aktualisierungstoken angegeben werden. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Validierungstest für Aktualisierungstoken

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

Testartikel Erklärung
Aktualisierungstoken mit ungültigem Aktualisierungstoken, Antwort des Partners wird geprüft. Der 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 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 Aktualisierungstokenanfrage geändert werden. Wenn sich das Aktualisierungstoken ändert, sollte Ihr Server ein altes Aktualisierungstoken erst dann entwerten, wenn ein neues Aktualisierungstoken verwendet wurde. So lassen sich Race-Bedingungen vermeiden, die die Kontoverknüpfung eines Nutzers beeinträchtigen könnten. Der Test schlägt fehl, wenn Sie das alte Aktualisierungstoken entwerten, bevor das neue verwendet wird.

Fehlermeldungen

Die folgende Tabelle enthält einige häufig auftretende Fehlermeldungen und die empfohlenen Lösungsmöglichkeiten.

Fehlermeldung Lö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ü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 alle Berechtigungen im Zustimmungsbildschirm.

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 der Anleitung unter Fehlerbehebung bei IAM-Berechtigungen, um dafür zu sorgen, dass Ihr Konto die Berechtigungen resourcemanager.projects.get 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:
    • Allgemeine Kontoinformationen
      1. Primäre E-Mail-Adresse für das Google-Konto abrufen
      2. Personenbezogene Daten abrufen, einschließlich aller 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 ein Berechtigungsfehler angezeigt wird, entfernen Sie zuerst den Zugriff und gewähren Sie alle Berechtigungen auf dem Zustimmungsbildschirm, wenn Sie sich wieder anmelden.

Testergebnisse senden

Deine Test Suite-Ergebnisse müssen 100% der Tests bestehen, bevor du dein Zertifizierungsformular einreichst. Wenn Sie Merkmale 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 wurde.

Führe die folgenden Schritte aus, um deine Testergebnisse einzureichen und deine Smart-Home-Aktion zu zertifizieren:

  1. Wenn du die Testergebnisse erhalten hast und deine Smart-Home-Aktion zertifizieren möchtest, klicke im Test Suite-Tool auf Submit (Senden).
  2. Klicken Sie auf die Schaltfläche TESTERGEBNISSE HERUNTERLADEN, um die Testergebnisse abzurufen.
  3. Klicken Sie auf ZUM EINREICHENFORMULAR, um die Testergebnisse an Google zu senden.
  4. Füllen Sie alle Pflichtfelder aus und klicken Sie dann auf Senden.