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 Testfälle basierend auf den Geräten und Merkmalen aus, die mit deinem Konto verknüpft sind. Nach Abschluss der Tests kannst du die Testergebnisse einsehen.
Informationen zur Verwendung der Test Suite und zum Einreichen deiner Testergebnisse zur Zertifizierung bei Google findest du auf der Seite Smart-Home-Aktionen testen und freigeben. Diese Version der Test Suite ist speziell für die Entwicklung und Qualitätssicherung vorgesehen.
Die von der Test Suite ausgeführten Tests umfassen unter anderem Folgendes:
Prüft, ob „Status melden“ und „Synchronisierung anfordern“ für deine Geräte und Merkmale implementiert sind.
Prüft, ob der QUERY-Intent für dein Gerät implementiert ist und die Ergebnisse mit den Ergebnissen von „Status melden“ übereinstimmen.
Du kannst das Test Suite Tool starten, indem du auf die Schaltfläche unten klickst:
Aktion selbst testen
Im folgenden Abschnitt wird beschrieben, wie du die Test Suite auf deinem Gerät und in deinem Smart-Home-Aktionsprojekt ausführst. Für die Test Suite musst du dich anmelden, damit sie Geräte in deinem Google Home Graph prüfen und Befehle direkt an Google Assistant senden kann.
So testest du deine Aktion selbst:
- Öffne die Test Suite in deinem Webbrowser.
Melde dich über die Schaltfläche oben rechts bei Google an.
Konfiguriere die Projektdetails:
- Gib im Feld Projekt-ID die Projekt-ID für deine Smart-Home-Aktion ein.
- Klicke auf Weiter.
Konfiguriere die Testeinstellungen:
- Wenn du deine Cloud-to-cloud Integration zertifizierst, lasse den Standardwert Zeitüberschreitung bei Status/Synchronisierung der Anfrage angeben unverändert. Für Tests kannst du den Wert für die Zeitüberschreitung jedoch ändern, wenn es länger dauert, bis dein Agent den Status an Home Graph meldet.
Wenn du deine Cloud-to-cloud Integration zertifizierst, muss die Option Synchronisierung der Anfrage 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. Änderungen werden über die Integration vorgenommen, die du testest. Für die Integration, die getestet wird, muss immer mindestens ein Gerät mit dem Agent-Nutzer verknüpft sein.
Wenn du ein Scene Merkmal verwendest, wähle Szenenmerkmal testen aus.
Wenn du die Test-Suite für Local Home-Geräte ausführst, wähle Unterstützt Local Home SDK aus.
- Wähle Lokale Ausführung oder Nahtlose Einrichtung aus.
- Klicke auf Unterstützt lokale Abfrage , wenn das Gerät den QUERY-Intent lokal verarbeiten kann.
Führe einen Testlauf durch und sieh dir die Ergebnisse an:
- Klicke auf Weiter , um die Tests auszuführen. Auf der Benutzeroberfläche werden die Geräte und Merkmale angezeigt, die getestet werden.
Rufe die Seite Ergebnisse und Einreichung auf:
- Klicke nach Abschluss der Tests auf Weiter, um die Ergebnisse aufzurufen.
Die Testergebnisse enthalten die Anzahl der bestandenen und nicht bestandenen Tests sowie eine Endnote, die den Prozentsatz der bestandenen Tests angibt.
Test zur Validierung der Kontoverknüpfung
Die Kontoverknüpfung spielt eine wichtige Rolle im Google Smart-Home-Ökosystem. Mit dem Test zur Validierung der Kontoverknüpfung in Test Suite wird dein OAuth-Dienst auf potenzielle Probleme geprüft.
Der Test zur Validierung der Kontoverknüpfung enthält Tests zur Validierung von Zugriffstokens und Aktualisierungstokens:
Test zur Validierung von Zugriffstokens
Die von deinem 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 das JWT-Format hat | 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 das ablaufende Zugriffstoken ein Aktualisierungstoken hat | Wenn das Zugriffstoken abläuft, muss ein Aktualisierungstoken angegeben werden. Dieser Test schlägt fehl, wenn kein Aktualisierungstoken gefunden wird. |
Test zur Validierung von Aktualisierungstokens
Aktualisierungstokens werden getestet, um sicherzustellen, dass dein Token-Austausch-Endpunkt sie ordnungsgemäß gegen neue Zugriffstokens austauscht.
| Testelemente | Erklärung |
|---|---|
| Aktualisierungstoken mit ungültigem Aktualisierungstoken, Überprüfung der Partnerantwort | 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 findest du unter
Aktualisierungstokens gegen Zugriffstokens austauschen. |
| Prüfen, ob das Zugriffstoken nach der Aktualisierung des Tokens 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, ob das nicht abgelaufene Zugriffstoken noch gültig ist | Die Ablaufzeit des Zugriffstokens wird angezeigt. |
| Prüfen, ob das Aktualisierungstoken während der Aktualisierung rotiert wurde | Wir prüfen, ob sich Aktualisierungstokens nach einer Aktualisierungstoken-Anfrage ändern. Wenn sich das Aktualisierungstoken ändert, sollte dein Server ein altes Aktualisierungstoken erst ungültig machen, nachdem ein neues Aktualisierungstoken verwendet wurde. So werden Race-Bedingungen verhindert, die die Kontoverknüpfung eines Nutzers unterbrechen können. Der Test schlägt fehl, wenn du das alte Aktualisierungstoken ungültig machst, 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 | Achte darauf, dass du die HomeGraph API aktiviert hast. |
| Requested Entity not found (Die angeforderte Entität wurde nicht gefunden) | Prüfe, ob deine agentUserId gültig und mit deinem
Dienst verknüpft ist. |
Achte darauf, dass du die Berechtigung Error getting module data: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 (Fehler beim Abrufen von Moduldaten: Fehler bei getModuleData: HTTP-Fehlerantwort für https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403) |
|
Testergebnisse einreichen
Deine Test Suite Ergebnisse müssen alle Tests zu 100% bestehen, bevor du sie zur Zertifizierung einreichst. Wenn du Merkmale hast, die manuell getestet werden müssen, solltest du trotzdem das Test Suite 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:
- Nachdem du deine Testergebnisse erhalten hast und bereit bist, deine Cloud-to-cloud Integration zu zertifizieren, klicke in der Test Suite auf Einreichen.
- Rufe Google Home Developer Console > Cloud-to-cloud > Zertifizieren auf.
- Wähle die Integration aus, die du zertifizieren möchtest.
- Gib unter Dokumentation die ID deiner Test Suite Ergebnisse ein.
Fülle alle Pflichtfelder aus und klicke auf Einreichen.
Cloud-to-cloud