Le Google Home Test Suite est une application Web qui vous permet de tester vous-même votre action de maison connectée. Le Test Suite génère et exécute automatiquement des cas 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 la Test Suite et envoyer vos résultats de test à Google à des fins de certification, consultez la page Tester et partager des actions de maison connectée. Cette version de la Test Suite est spécifiquement destinée au développement et à l'assurance qualité.
Les tests exécutés par le Test Suite incluent, sans s'y limiter, les éléments suivants :
Vérifie que les fonctionnalités Signaler l'état et Demander la synchronisation sont implémentées pour vos appareils et caractéristiques.
Vérifie que l'intent QUERY est implémenté pour votre appareil et que ses résultats correspondent à ceux de "Signaler l'état".
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 le Test Suite sur votre appareil et votre projet d'action de maison connectée. La Test Suite vous demande de vous connecter afin de pouvoir inspecter les appareils de votre Google Home Graph et envoyer des commandes directement à Google Assistant.
Pour tester vous-même votre action, procédez comme suit :
- Dans votre navigateur Web, ouvrez la Test Suite.
Connectez-vous à Google à l'aide du bouton situé en haut à droite.
Configurez les détails du projet :
- Dans le champ ID du projet, saisissez l'identifiant du projet pour votre action de maison connectée.
- Cliquez sur Suivant.
Configurez les paramètres de test :
- Si vous certifiez votre Cloud-to-cloud intégration, ne modifiez pas la valeur par défaut Délai d'expiration de "Signaler l'état/Demander la synchronisation". Toutefois, pour les tests, vous pouvez modifier la valeur du délai d'expiration 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 Tester la demande de synchronisation est activée. Lors des tests, vous serez invité à ajouter, mettre à jour 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 comporter au moins un appareil associé à l'utilisateur de l'agent.
Si vous utilisez une caractéristique Scene, sélectionnez Tester la caractéristique de scène.
Si vous exécutez la suite de tests pour des appareils Local Home, sélectionnez Compatible avec le SDK Local Home.
- Sélectionnez Traitement en local ou Configuration fluide.
- Cliquez sur Compatible avec la requête locale si l'appareil peut gérer l'intent QUERY en local.
Exécutez un test et consultez les résultats :
- Cliquez sur Suivant pour lancer les tests. L'interface affiche les appareils et les caractéristiques en cours de test.
Consultez 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 comptes joue un rôle important dans l'écosystème de maison connectée de Google. Le test de validation de l'association de comptes dans Test Suite vérifie votre service OAuth pour détecter les problèmes potentiels.
Le test de validation de l'association de comptes 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 comptes 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érifier si 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 expirant. 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 |
|---|---|
| Jeton d'actualisation avec 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"} à une requête 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 la page
Échanger des jetons d'actualisation contre des jetons d'accès. |
| Vérifier 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 requêtes de jeton d'actualisation. Si votre serveur fournit le même jeton d'accès, le cas de test échouera. |
| Vérifier si le jeton d'accès non expiré est toujours valide | Le délai d'expiration du jeton d'accès s'affiche. |
| Vérifier si le jeton d'actualisation a été renouvelé lors de l'actualisation | Nous vérifions si les jetons d'actualisation sont modifiés après une requête 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, afin d'éviter les conditions de concurrence qui pourraient interrompre l'association de comptes 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 méthode suggérée pour les résoudre.
| Message d'erreur | Procédure de résolution |
|---|---|
| L'API HomeGraph n'a jamais été utilisée dans le projet <_id_> ou elle est désactivée | Assurez-vous d'avoir activé l'API HomeGraph. |
| Entité demandée introuvable | Vérifiez que votre agentUserId est valide et qu'il est associé à votre
service. |
Assurez-vous de disposer de l'autorisation Erreur lors de la récupération 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
Vos résultats Test Suite doivent réussir 100% des tests avant d'être envoyés pour certification. Si vous avez des caractéristiques 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 réussi à 100%.
Pour envoyer vos résultats de test et certifier votre Cloud-to-cloud intégration, 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 Cloud-to-cloud intégration, cliquez sur Envoyer dans l' Test Suite outil.
- 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 vos Test Suite résultats.
Remplissez tous les champs obligatoires, puis cliquez sur Envoyer.