Die Google Home Test Suite ist eine Webanwendung, mit der Sie Ihre Smart-Home-Aktion selbst testen können. Die Test Suite generiert und führt automatisch Testfälle basierend auf den Geräten und Merkmalen aus, die mit Ihrem Konto verknüpft sind. Nach Abschluss der Tests können Sie die Testergebnisse einsehen.
Informationen zur Verwendung der Test Suite und zum Einreichen Ihrer Testergebnisse zur Zertifizierung bei Google finden Sie 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:
Es wird geprüft, ob Status melden und Synchronisierung anfordern für Ihre Geräte und Merkmale implementiert sind.
Es wird geprüft, ob der QUERY-Intent für Ihr Gerät implementiert ist und die Ergebnisse mit den Ergebnissen von „Status melden“ übereinstimmen.
Sie können das Test Suite Tool starten, indem Sie auf die Schaltfläche unten klicken:
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 die Test Suite müssen Sie sich anmelden, damit sie Geräte in Ihrem Google Home Graph prüfen und Befehle direkt an Google Assistant senden kann.
So testen Sie Ihre Aktion selbst:
- Öffnen Sie die Test Suite in Ihrem Webbrowser.
Melden Sie sich über die Schaltfläche oben rechts bei Google an.
Konfigurieren Sie die Projektdetails:
- Geben Sie im Feld Projekt-ID die Projekt-ID für Ihre Smart-Home-Aktion ein.
- Klicken Sie auf Weiter.
Konfigurieren Sie die Testeinstellungen:
- Wenn Sie Ihre Cloud-to-cloud Integration zertifizieren, lassen Sie den Standardwert Zeitüberschreitung bei Status/Synchronisierung der Anfrage angeben unverändert. Für Tests können Sie den Wert für die Zeitüberschreitung jedoch ändern, wenn Ihr Agent mehr Zeit benötigt, um den Status an Home Graph zu melden.
Wenn Sie Ihre Cloud-to-cloud Integration zertifizieren, muss die Option Synchronisierung der Anfrage testen aktiviert sein. 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. Änderungen werden über die Integration vorgenommen, die Sie testen. Für die Integration, die getestet wird, muss immer mindestens ein Gerät mit dem Agent-Nutzer verknüpft sein.
Wenn Sie ein Scene Merkmal verwenden, wählen Sie Szenenmerkmal testen aus.
Wenn Sie die Test-Suite für Local Home-Geräte ausführen, wählen Sie Unterstützt Local Home SDK aus.
- Wählen Sie Lokale Ausführung oder Nahtlose Einrichtung aus.
- Klicken Sie auf Unterstützt lokale Abfrage , wenn das Gerät den QUERY-Intent lokal verarbeiten kann.
Führen Sie einen Testlauf durch und sehen Sie sich die Ergebnisse an:
- Klicken Sie auf Weiter , um die Tests auszuführen. In der Benutzeroberfläche werden die Geräte und Merkmale angezeigt, die getestet werden.
Rufen Sie die Seite Ergebnisse und Einreichung auf:
- 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 Endnote, die den Prozentsatz der bestandenen Tests angibt.
Validierungstest für die Kontoverknüpfung
Die Kontoverknüpfung spielt eine wichtige Rolle im Google Smart-Home-Ökosystem. Beim Validierungstest für die Kontoverknüpfung in Test Suite wird Ihr 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 Zugriffstokens
Zugriffstokens, die von Ihrem Token-Austausch-Endpunkt 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 | 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. |
Validierungstest für Aktualisierungstokens
Aktualisierungstokens werden getestet, um sicherzustellen, dass Ihr Token-Austausch-Endpunkt sie ordnungsgemäß gegen neue Zugriffstokens austauscht.
| Testelemente | Erklärung |
|---|---|
| Aktualisierungstoken mit ungültigem Aktualisierungstoken, Partnerantwort prüfen | Ihr 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. |
| Prüfen, ob das Zugriffstoken nach der Aktualisierung des Tokens aktualisiert wurde | Als Antwort auf Aktualisierungstoken Anfragen sollten neue Zugriffstokens zurückgegeben werden. Wenn Ihr 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 Ihr 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 Sie das alte Aktualisierungstoken ungültig machen, 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 | Achten Sie darauf, dass Sie die HomeGraph API aktiviert haben. |
| Angefordertes Element nicht gefunden | Prüfen Sie, ob Ihre agentUserId gültig und mit Ihrem
Dienst verknüpft ist. |
Achten Sie darauf, dass Sie die Berechtigung Fehler beim Abrufen von Moduldaten: getModuleData-Fehler: HTTP-Fehlerantwort für https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 |
|
Testergebnisse senden
Ihre Test Suite Ergebnisse müssen alle Tests bestehen, bevor Sie sie zur Zertifizierung einreichen. Wenn Sie Merkmale haben, die manuell getestet werden müssen, sollten Sie trotzdem das Test Suite Tool ausführen und das Ergebnis anhängen, auch wenn es nicht zu 100 % bestanden wurde.
So reichen Sie Ihre Testergebnisse ein und zertifizieren Ihre Cloud-to-cloud Integration:
- Nachdem Sie Ihre Testergebnisse erhalten haben und bereit sind, Ihre Cloud-to-cloud Integration zu zertifizieren, klicken Sie in der Test Suite Test-Suite auf Senden.
- Rufen Sie Google Home Developer Console > Cloud-to-cloud > Zertifizieren auf.
- Wählen Sie die Integration aus, die Sie zertifizieren möchten.
- Geben Sie unter Dokumentation die ID Ihrer Test Suite Ergebnisse ein.
Füllen Sie alle Pflichtfelder aus und klicken Sie auf Senden.