Suite Google Home Test

Google Home Test Suite est une application Web qui vous permet de tester automatiquement 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 en consulter les résultats ou remplir le formulaire d'envoi pour les envoyer à Google.

Les tests exécutés par Test Suite incluent, sans s'y limiter, les éléments suivants:

  • Vérifie que Report State (État du rapport) et Request Sync (Synchroniser les requêtes) sont implémentés pour vos appareils et vos caractéristiques.

  • Vérifie que l'intent QUERY est implémenté pour votre appareil et que ses résultats correspondent à ceux de l'état du rapport.

Vous pouvez lancer l'outil Test Suite en cliquant sur le bouton ci-dessous:

Lancer Test Suite

Autotestez votre action

La section suivante explique comment exécuter Test Suite sur votre projet d'action pour votre appareil et votre 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 automatiquement votre action, procédez comme suit:

  1. Dans votre navigateur Web, ouvrez Test Suite.
  2. Connectez-vous à Google en cliquant sur le bouton en haut à droite.

  3. Configurez les détails du projet:

    1. Dans le champ ID du projet, saisissez l'identifiant de projet de votre action de maison connectée.
    2. Cliquez sur Suivant.
  4. Configurez les paramètres de test:

    1. Si vous certifiez votre action pour la maison connectée, ne modifiez pas la valeur par défaut Report State/Request Sync Timeout (Rapport d'état/Délai de synchronisation des requêtes). Toutefois, pour les tests, vous pouvez modifier la valeur du délai avant expiration si votre agent prend plus de temps pour signaler l'état au graphique de la maison.
    2. Si vous certifiez votre action pour la maison connectée, assurez-vous que l'option Test Request Sync est activée. Pendant les tests, vous serez invité à ajouter, mettre à jour ou supprimer un appareil et à vérifier si la liste des appareils a changé dans le Home Graph. Les actions de modification sont effectuées via l'intégration que vous testez. Au moins un appareil doit toujours être connecté à l'utilisateur agent de votre intégration en cours de test.

    3. Si vous utilisez un trait Scene, sélectionnez Tester le trait de scène.

    4. Si vous exécutez la suite de tests pour les appareils Local Home, sélectionnez Compatible avec le SDK Local Home.

      1. Sélectionnez Local Fulfillment ou Configuration aisée.
      2. Cliquez sur Accepte les requêtes locales si l'appareil peut gérer l'intent QUERY en local.
  5. Réalisez un test Run (Exécuter un test) et observez les résultats:

    1. Cliquez sur Suivant pour commencer à exécuter des tests. L'interface affiche les appareils et les caractéristiques qui sont testés.
  6. Affichez la page Résultats et soumission:

    1. Une fois les tests terminés, cliquez sur Suivant pour afficher les résultats.

Les résultats incluent le nombre de tests réussis et ayant échoué, ainsi qu'un score final indiquant le pourcentage de réussites.

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 de Google. Le test de validation de l'association de comptes dans Test Suite permet de détecter d'éventuels problèmes dans votre service OAuth.

Le test de validation des associations 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.

Articles test Explication
Vérifier si le jeton d'accès est au format JWT L'association de comptes Google ne recommande pas de jetons d'accès au format JWT. Si un format JWT est trouvé, 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 pouvant expirer contient un jeton d'actualisation. Un jeton d'actualisation doit être fourni lorsque le jeton d'accès a expiré. Ce test échouera si aucun jeton d'actualisation n'est trouvé.

Actualiser le test de validation du jeton

Les jetons d'actualisation sont testés pour vérifier que le point de terminaison d'échange de jetons les échange correctement contre de nouveaux jetons d'accès.

Articles test Explication
Jeton d'actualisation avec un jeton d'actualisation non valide, vérifiant 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 à "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 n'a pas expiré. Le délai d'expiration du jeton d'accès s'affiche.
Vérifiez si le jeton d'actualisation a été alterné pendant 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 que les conditions de concurrence n'interrompent l'association des comptes d'un utilisateur. Le test échoue si vous invalidez l'ancien jeton d'actualisation avant l'utilisation du nouveau.

Messages d'erreur

Le tableau suivant répertorie certains messages d'erreur courants que vous pouvez rencontrer et la méthode suggérée pour les résoudre.

Message d'erreur Résoudre le problème
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 associé à votre service.

Assurez-vous de disposer de l'autorisation resourcemanager.projects.get sur le projet ${your project id} et d'avoir accordé toutes les autorisations de l'écran de consentement.

Erreur de récupération des données du module: getModuleData erreur: réponse d'échec HTTP pour https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403

  1. Suivez les instructions de la section Résoudre les problèmes d'autorisations IAM pour vous assurer que votre compte dispose des autorisations resourcemanager.projects.get pour le projet.
  2. Accédez à la page Applications ayant accès à votre compte pour vérifier les autorisations suivantes pour "Suite de tests pour la maison connectée" :
    • Informations de base du compte
      1. Afficher l'adresse e-mail principale associée à votre compte Google
      2. Consulter vos informations personnelles, y compris celles que vous avez choisi de rendre publiques
    • Accès supplémentaire
      1. Utilisez votre Assistant: accès étendu à votre compte Google.
      2. Inspecter et contrôler les appareils pour la maison connectée dans votre graphique de la maison
    Si vous obtenez une erreur d'autorisation, supprimez d'abord l'accès, puis accordez toutes les autorisations dans l'écran de consentement lorsque vous vous reconnectez.

Envoyer les résultats du test

Vos résultats Test Suite doivent réussir tous les tests avant d'envoyer votre formulaire de certification. Si des caractéristiques nécessitent un test manuel, vous devez toujours exécuter l'outil Test Suite et joindre le résultat, même s'il n'a pas atteint 100%.

Pour envoyer les résultats de votre test et certifier votre action pour la maison connectée, procédez comme suit:

  1. Une fois que vous avez reçu les résultats de votre test et que vous êtes prêt à certifier votre action pour la maison connectée, cliquez sur Submit (Envoyer) dans l'outil Test Suite.
  2. Cliquez sur le bouton TÉLÉCHARGER LES RÉSULTATS DU TEST pour récupérer les résultats.
  3. Cliquez sur ACCÉDER AU FORMULAIRE D'ENVOI pour envoyer les résultats du test à Google.
  4. Remplissez tous les champs obligatoires, puis cliquez sur Envoyer.