Suite Google Home Test

Cloud à cloud    SDK Local Home

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 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 Test Suite et envoyer les résultats de vos tests à Google pour obtenir une 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 suivants:

  • Vérifie que Report State (État du rapport) et Request Sync (Demander la synchronisation) 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 aux résultats de l'état du rapport.

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

Lancer Test Suite

Tester 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 qu'il puisse inspecter les appareils de votre Google Home Graph et envoyer des commandes directement à Google Assistant.

Pour tester votre action vous-même, procédez comme suit:

  1. Dans votre navigateur Web, ouvrez Test Suite.
  2. Connectez-vous à Google à l'aide du bouton en haut à droite.

  3. Configurez les informations sur le projet:

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

    1. Si vous certifiez votre intégration Cloud-to-cloud, laissez la valeur par défaut de Report State/Request Sync Timeout (État du rapport/Délai avant expiration de la synchronisation des requêtes) inchangée. Toutefois, pour les tests, vous pouvez modifier la valeur du délai avant expiration si votre agent prend plus de temps à signaler l'état à Home Graph.
    2. 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, mettre à jour ou supprimer un appareil, puis à 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.

    3. Si vous utilisez une caractéristique Scene, sélectionnez Caractéristique de scène de test.

    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 Traitement local ou Configuration simplifiée.
      2. Cliquez sur Compatible avec la requête locale si l'appareil peut gérer l'intent QUERY localement.
  5. Effectuez un test et affichez les résultats:

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

    1. 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 tests réussis.

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 recherche les problèmes potentiels dans votre service OAuth.

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 à partir de votre point de terminaison d'échange de jetons sont testés pour s'assurer qu'ils sont au 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érifiez que le jeton d'accès éligible à l'expiration dispose d'un jeton d'actualisation. Un jeton d'actualisation doit être fourni lorsque le jeton d'accès est susceptible d'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 vous 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 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 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 section É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 demandes de jetons d'actualisation. Si votre serveur fournit le même jeton d'accès, le cas de test échoue.
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é remplacé 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 avoir utilisé un nouveau jeton d'actualisation, afin d'éviter les conditions de course pouvant endommager l'association de 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 et la procédure suggérée pour les résoudre.

Message d'erreur 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 resourcemanager.projects.get sur le projet ${your project id} et d'avoir accordé toutes les autorisations dans l'écran de consentement.

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

  1. Suivez les instructions de la section Dépannage des 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 test pour la maison connectée" :
    • Informations générales sur le 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 disponibles publiquement
    • Accès supplémentaires
      1. Utiliser votre Assistant: accès étendu à votre compte Google
      2. Vérifier et contrôler les appareils connectés de votre Home Graph
    Si vous recevez 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 des tests

Vous devez réussir 100% des tests Test Suite avant d'envoyer votre formulaire de 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 été validé à 100%.

Pour envoyer les résultats de vos tests et certifier votre intégration Cloud-to-cloud, procédez comme suit:

  1. 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.
  2. Cliquez sur le bouton TÉLÉCHARGER LES RÉSULTATS DU TEST pour récupérer les résultats de votre test.
  3. Cliquez sur ALLER AU FORMULAIRE D'ENVOI pour envoyer les résultats du test à Google.
  4. Renseignez tous les champs obligatoires, puis cliquez sur Envoyer.