Google Home Test Suite est une application Web qui vous permet de tester vous-même votre action de 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 afficher les résultats.
Pour utiliser la 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 caractéristiques.
Vérifie que l'intent QUERY est implémenté 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 nécessite que vous vous connectiez pour 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 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'ID de 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, ne modifiez pas la valeur par défaut du délai avant expiration de Report State/Request Sync. Toutefois, pour les tests, vous pouvez modifier la valeur du délai avant 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 synchronisation des requêtes est activée. Pendant le test, 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 sont effectuées 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 un trait Scene, sélectionnez Tester le trait Scene.
Si vous exécutez la suite de tests pour les appareils Local Home, sélectionnez Compatible avec le SDK Local Home.
- Sélectionnez Exécution locale ou Configuration aisée.
- Cliquez sur Supports Local Query (Prend en charge les requêtes locales) si l'appareil peut gérer l'intent QUERY localement.
Effectuez un test et affichez les résultats :
- Cliquez sur Suivant pour lancer les tests. L'interface affiche les appareils et les caractéristiques 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 du test 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 la maison connectée Google. Le test de validation de l'association de comptes 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 pour 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 sont au bon format 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 du 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 temporaire dispose d'un jeton d'actualisation. | Un jeton d'actualisation doit être fourni lorsque le jeton d'accès peut expirer. 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 (requête incorrecte) avec {"error": "invalid_grant"} pour une requête de jeton d'actualisation non valide.
Si la réponse ne correspond pas au "code ou message d'erreur", ce scénario de test échouera. Pour en savoir plus, consultez
Échanger des jetons d'actualisation contre des jetons d'accès. |
| Vérifiez 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 scénario 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é soumis à une rotation 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 l'ancien jeton d'actualisation qu'après l'utilisation d'un nouveau jeton d'actualisation, afin d'éviter les conditions de concurrence susceptibles d'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 liste certains messages d'erreur courants que vous pouvez rencontrer et 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 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 Error getting module data: getModuleData error: Http failure response for https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403 |
|
Envoyer les résultats du test
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 les résultats de vos tests 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 votre ID de résultats Test Suite.
Remplissez tous les champs obligatoires, puis cliquez sur Envoyer.