Google Home Test Suite est une application Web qui vous permet de tester vous-même votre action pour la maison connectée. Test Suite génère et exécute automatiquement des scénarios de test en fonction des appareils et des caractéristiques associés à votre compte. Une fois les tests terminés, vous pouvez consulter les résultats.
Pour utiliser Test Suite et envoyer les résultats de vos tests à Google pour certification, consultez la page Tester et partager des actions pour la maison connectée. Cette version de Test Suite est spécifiquement destinée au développement et à l'assurance qualité.
Les tests exécutés par Test Suite incluent, sans s'y limiter, les éléments suivants :
Vérifie que Report State et Request Sync sont implémentés pour vos appareils et traits.
Vérifie que l'intention QUERY est implémentée pour votre appareil et que ses résultats correspondent à ceux de Report State.
Vous pouvez lancer l'outil Test Suite en cliquant sur le bouton ci-dessous :
Tester vous-même votre action
La section suivante explique comment exécuter Test Suite sur votre appareil et votre projet d'action pour la maison connectée. Test Suite vous demande de vous connecter pour pouvoir inspecter les appareils dans votre Google Home Graph et envoyer des commandes directement à Google Assistant.
Pour tester vous-même votre action :
- Dans votre navigateur Web, ouvrez Test Suite.
Connectez-vous à Google à l'aide du bouton en haut à droite.
Configurez les informations sur le projet :
- Dans le champ ID du projet, saisissez l'identifiant du projet pour votre action pour la maison connectée.
- Cliquez sur Suivant.
Configurez les paramètres de test :
- Si vous certifiez votre intégration Cloud-to-cloud, laissez la valeur par défaut Délai avant expiration de l'état du rapport/de la demande de synchronisation inchangée. Toutefois, pour les tests, vous pouvez modifier la valeur du délai d'attente si votre agent met plus de temps à signaler l'état à Home Graph.
Si vous certifiez votre intégration Cloud-to-cloud, assurez-vous que l'option Test Request Sync (Tester la synchronisation des requêtes) est activée. Lors des tests, vous serez invité à ajouter, modifier ou supprimer un appareil, et à vérifier si la liste des appareils a changé dans Home Graph. Les actions de modification ont lieu via l'intégration que vous testez. Votre intégration en cours de test doit toujours avoir au moins un appareil associé à l'utilisateur de l'agent.
Si vous utilisez un trait Scene, sélectionnez Trait de scène de test.
Si vous exécutez la suite de tests pour les appareils Local Home, sélectionnez Compatible avec le SDK Local Home.
- Sélectionnez Traitement local ou Configuration simplifiée.
- Cliquez sur Supports Local Query (Prend en charge les requêtes locales) si l'appareil peut gérer l'intention QUERY en local.
Effectuez un test et consultez les résultats :
- Cliquez sur Suivant pour commencer à exécuter les tests. L'interface affiche les appareils et les traits testés.
Accédez à la page Résultats et envoi :
- Une fois les tests terminés, cliquez sur Suivant pour afficher les résultats.
Les résultats des tests incluent le nombre de tests réussis et échoués, ainsi qu'un score final indiquant le pourcentage de réussite.
Test de validation de l'association de comptes
L'association de compte joue un rôle important dans l'écosystème Google pour la maison connectée. Le test de validation de l'association de compte dans Test Suite vérifie si votre service OAuth présente des problèmes potentiels.
Le test de validation de l'association de compte contient des tests permettant de valider les jetons d'accès et les jetons d'actualisation :
Test de validation du jeton d'accès
Les jetons d'accès renvoyés par votre point de terminaison d'échange de jetons sont testés pour s'assurer qu'ils ont un format valide et qu'ils sont renvoyés avec un jeton d'actualisation valide.
Éléments de test | Explication |
---|---|
Vérifier si le jeton d'accès est au format JWT | L'association de compte Google ne recommande pas les jetons d'accès au format JWT. Si un format JWT est détecté, l'avertissement suivant s'affiche :
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.
|
Vérifiez que le jeton d'accès expirant possède un jeton d'actualisation. | Un jeton d'actualisation doit être fourni lorsque le jeton d'accès est expirables. Ce test échouera si aucun jeton d'actualisation n'est trouvé. |
Test de validation du jeton d'actualisation
Les jetons d'actualisation sont testés pour s'assurer que votre point de terminaison d'échange de jetons les échange correctement contre de nouveaux jetons d'accès.
Éléments de test | Explication |
---|---|
Actualisation du jeton avec un jeton d'actualisation non valide, vérification de la réponse du partenaire. | Votre serveur doit renvoyer une erreur HTTP 400 Bad Request avec {"error": "invalid_grant"} pour une demande de jeton d'actualisation non valide.
Si la réponse ne correspond pas au "code ou message d'erreur", ce cas de test échouera. Pour en savoir plus, consultez
Échanger des jetons d'actualisation contre des jetons d'accès. |
Testez si le jeton d'accès a été mis à jour après l'actualisation du jeton. | De nouveaux jetons d'accès doivent être renvoyés en réponse aux demandes de jetons d'actualisation. Si votre serveur fournit le même jeton d'accès, le cas de test échouera. |
Vérifiez si le jeton d'accès non expiré est toujours valide. | Le délai d'expiration du jeton d'accès s'affiche. |
Vérifiez si le jeton d'actualisation a été permuté lors de l'actualisation. | Nous vérifions si les jetons d'actualisation sont modifiés après une demande de jeton d'actualisation. Si le jeton d'actualisation change, votre serveur ne doit invalider un ancien jeton d'actualisation qu'après l'utilisation d'un nouveau jeton d'actualisation, afin d'éviter les conditions de concurrence qui pourraient interrompre l'association du compte d'un utilisateur. Le test échouera si vous invalidez l'ancien jeton d'actualisation avant que le nouveau ne soit utilisé. |
Messages d'erreur
Le tableau suivant répertorie certains messages d'erreur courants que vous pouvez rencontrer, ainsi que la façon de les résoudre.
Message d'erreur | Comment résoudre le problème |
---|---|
L'API HomeGraph n'a jamais été utilisée dans le projet <_id_> ou a été désactivée. | Assurez-vous d'avoir activé l'API HomeGraph. |
Entité demandée introuvable | Vérifiez que votre agentUserId est valide et associé à votre service. |
Assurez-vous de disposer de l'autorisation Erreur lors de l'obtention des données du module : erreur getModuleData : réponse d'échec HTTP pour https://hometestsuiteproxy-pa.googleapis.com/v1/module:get : 403 OK 403 |
|
Envoyer les résultats des tests
Pour obtenir la certification, vous devez réussir 100 % des tests Test Suite. Si vous avez des traits qui nécessitent des tests manuels, vous devez quand même exécuter l'outil Test Suite et joindre le résultat, même s'il n'a pas été réussi à 100 %.
Pour envoyer vos résultats de test et certifier votre intégration Cloud-to-cloud, procédez comme suit :
- Une fois que vous avez reçu les résultats de vos tests et que vous êtes prêt à certifier votre intégration Cloud-to-cloud, cliquez sur Envoyer dans l'outil Test Suite.
- Accédez à Google Home Developer Console > Cloud-to-cloud > Certifier.
- Sélectionnez l'intégration que vous souhaitez certifier.
- Sous Documentation, saisissez l'ID de résultat Test Suite.
Remplissez tous les champs obligatoires, puis cliquez sur Envoyer.