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. Die Test Suite generiert und führt automatisch Testläufe basierend auf den Geräten und Eigenschaften aus, die mit deinem Konto verknüpft sind. Nach Abschluss der Tests können Sie sich die Testergebnisse ansehen.

Wenn du die Test Suite verwenden und deine Testergebnisse zur Zertifizierung an Google senden möchtest, findest du auf der Seite Smart-Home-Aktionen testen und teilen weitere Informationen. Diese Version des Test Suite ist speziell für die Entwicklung und Qualitätssicherung vorgesehen.

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

  • Es wird geprüft, ob Status melden und Synchronisierung anfordern für deine Geräte und Eigenschaften implementiert sind.

  • Prüft, ob der Intent QUERY für dein Gerät implementiert ist und ob die Ergebnisse mit den Ergebnissen von Report State übereinstimmen.

Sie können das Test Suite-Tool starten, indem Sie auf den Button 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-Aktionsprojekt ausführen. Für Test Suite musst du dich anmelden, damit Geräte in deinem Google Home Graph geprüft und Befehle direkt an Google Assistant gesendet werden können.

So testen Sie Ihre Aktion selbst:

  1. Öffnen Sie in Ihrem Webbrowser die 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 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 Cloud-to-cloud-Integration zertifizierst, lass den Standardwert für Zeitüberschreitung für „Status melden“ / „Synchronisierung anfordern“ unverändert. Zu Testzwecken kannst du den Zeitlimitwert jedoch ändern, wenn dein Agent mehr Zeit benötigt, um den Status an Home Graph zu melden.
    2. Wenn du deine Cloud-to-cloud-Integration zertifizierst, muss die Option Test Request Sync 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 Integration ausgeführt, die Sie testen. Die zu testende Integration muss immer mindestens ein Gerät haben, das mit dem Agent-Nutzer verknüpft ist.

    3. Wenn du ein Scene-Merkmal verwendest, wähle Test Scene trait aus.

    4. Wenn du die Test-Suite für Smart-Home-Geräte ausführst, wähle Unterstützt Local Home SDK aus.

      1. Wähle Lokale Ausführung oder Nahtlose Einrichtung aus.
      2. Klicke auf Unterstützt lokale Anfragen, wenn das Gerät den QUERY-Intent 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. Auf der Benutzeroberfläche werden die Geräte und Traits angezeigt, die getestet werden.
  6. Rufen Sie die Seite Ergebnisse und Einreichung auf:

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

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

Validierungstest für die Kontoverknüpfung

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

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

Validierungstest für Zugriffstoken

Die von Ihrem Token-Austausch-Endpunkt zurückgegebenen Zugriffstokens 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 Für die Google-Kontoverknüpfung werden Zugriffstokens im JWT-Format nicht 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 das Zugriffstoken mit Ablaufdatum ein Aktualisierungstoken hat. Ein Aktualisierungstoken muss bereitgestellt werden, wenn das Zugriffstoken ablaufen kann. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird.

Validierungstest für Aktualisierungstoken

Aktualisierungstokens werden getestet, um sicherzustellen, dass sie von Ihrem Tokenaustausch-Endpunkt ordnungsgemäß gegen neue Zugriffstokens ausgetauscht 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 (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 austauschen.
Testen, ob das Zugriffstoken nach der Tokenaktualisierung aktualisiert wurde. Als Antwort auf Aktualisierungstoken-Anfragen sollten neue Zugriffstokens zurückgegeben werden. Wenn dein Server dasselbe Zugriffstoken bereitstellt, schlägt der Testfall fehl.
Prüfen Sie, ob das nicht 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-Anfrage geändert werden. Wenn sich das Aktualisierungstoken ändert, sollte dein Server ein altes Aktualisierungstoken erst dann ungültig machen, wenn ein neues Aktualisierungstoken verwendet wurde. So werden Race-Bedingungen verhindert, die die Kontoverknüpfung eines Nutzers 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äufige Fehlermeldungen und die vorgeschlagenen Lösungen aufgeführt.

Fehlermeldung Problemlösung
Die HomeGraph API wurde im Projekt <_id_> noch nicht verwendet oder ist deaktiviert. Prüfe, 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.

Sie benötigen die Berechtigung resourcemanager.projects.get für das Projekt ${your project id} und müssen alle Berechtigungen im Zustimmungsbildschirm gewährt 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 IAM-Berechtigungen – Fehlerbehebung, um sicherzustellen, dass Ihr Konto die Berechtigungen resourcemanager.projects.get für das Projekt hat.
  2. Rufe die Seite Apps mit Zugriff auf mein Konto auf, um die folgenden Berechtigungen für „Test-Suite für Smart Home“ zu prüfen:
    • Grundlegende Kontoinformationen
      1. Primäre E‑Mail-Adresse Ihres Google-Kontos 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 Zustimmungsbildschirm, wenn Sie sich wieder anmelden.

Testergebnisse einreichen

Deine Test Suite-Ergebnisse müssen 100% der Tests bestehen, bevor du sie zur Zertifizierung einreichen kannst. Wenn du Eigenschaften hast, die manuell getestet werden müssen, solltest du das Test Suite-Tool trotzdem ausführen und das Ergebnis anhängen, auch wenn es nicht zu 100 % bestanden wurde.

So reichst du deine Testergebnisse ein und zertifizierst deine Cloud-to-cloud-Integration:

  1. Nachdem du die Testergebnisse erhalten hast und bereit bist, deine Cloud-to-cloud-Integration zu zertifizieren, klicke im Test Suite-Tool auf Senden.
  2. Gehen Sie zu Google Home Developer Console > Cloud-to-cloud > Zertifizieren.
  3. Wählen Sie die Integration aus, die Sie zertifizieren möchten.
  4. Geben Sie unter Dokumentation Ihre Test Suite-Ergebnis-ID ein.
  5. Füllen Sie alle Pflichtfelder aus und klicken Sie auf Senden.