Passer au contenu principal

Comment faire démarrer mes tests déjà connectés ?

Enregistrez une connexion une fois sous forme de Profil authentifié pour que chaque test démarre déjà connecté, et donnez à un Environnement son propre Profil.

Écrit par Ines

Enregistrez la connexion une fois sous forme de Profil authentifié, et chaque cas de test qui l'utilise démarre déjà connecté. Un Profil est une session de navigateur enregistrée : les cookies et le stockage que votre application écrit après une connexion réussie. Thunders le conserve chiffré et le rejoue au début d'une exécution, vos cas de test sautent donc complètement l'écran de connexion. Les Profils fonctionnent uniquement pour les applications web. Ils ne s'appliquent pas encore aux applications mobiles.

C'est la réponse aux étapes de connexion lentes et fragiles. Se connecter en tête de chaque cas de test est la partie la plus répétée de la plupart des suites, et c'est aussi celle qui casse le plus facilement sur une double authentification ou une redirection.

Ce qu'un Profil conserve, et ce qu'il ne conserve pas

Un Profil authentifié contient la session que votre application a laissée dans le navigateur : cookies, entrées localStorage et bases IndexedDB des sites visités pendant l'enregistrement.

Il ne contient pas votre mot de passe. L'enregistrement capture le résultat de la connexion, jamais les identifiants ni les frappes clavier, et l'interface le dit pendant que le navigateur est en direct : « Nous capturons la session, jamais votre mot de passe ni vos frappes clavier. »

Les valeurs enregistrées sont chiffrées au repos et masquées dans l'interface : « Thunders stocke l'état du profil chiffré et n'expose jamais les cookies, jetons ou données de stockage déchiffrés. »

Enregistrer un profil

  1. Ouvrez votre projet de test, sélectionnez Configuration, puis Paramètres, et ouvrez l'onglet Profils authentifiés.

  2. Sélectionnez Enregistrer un profil.

  3. Donnez au Profil un Nom du profil, et une description si cela aide votre équipe.

  4. Laissez Spécifique à l'environnement désactivé pour rendre le Profil disponible sur tous les Environnements. Activez-le pour limiter le Profil à l'Environnement sur lequel vous l'enregistrez.

  5. Dans Enregistrer sur, choisissez l'Environnement sur lequel le navigateur s'ouvre, puis l'application à laquelle vous connecter. Le projet de test doit avoir au moins une application avec une URL configurée pour cet Environnement.

  6. Sélectionnez Passer en direct. Un vrai navigateur s'ouvre devant vous.

  7. Connectez-vous avec l'utilisateur à enregistrer, exactement comme le ferait une personne, y compris toute étape de double authentification.

  8. Sélectionnez Capturer et enregistrer le profil.

La session en direct est limitée dans le temps, et l'interface décompte avec « La session se termine dans n min ». Si elle se termine avant la capture, recommencez.

Pour remplacer la session d'un Profil, enregistrez-le à nouveau sous le même nom. Les cas de test qui l'utilisent continuent de fonctionner.

Vous pouvez aussi créer un Profil de deux autres façons. Un cas de test peut en capturer un pendant son exécution, ce qui est le meilleur modèle pour une suite entière. Voyez Laisser un cas de test créer le Profil ci-dessous. Et quand Thunders AI ne parvient pas à se connecter pendant qu'il navigue dans votre application, le chat vous demande d'Enregistrer un profil. La même fenêtre s'ouvre, et Thunders AI continue connecté une fois le profil enregistré.

Quand vous fermez la fenêtre alors que vous êtes encore connecté, Thunders demande « Enregistrer cette session comme profil ? » et vous propose de capturer, d'abandonner la session, ou de continuer à vous connecter.

Ce que le résultat vous apprend

Résultat

Ce qu'il signifie

Profil capturé

L'état authentifié a été chiffré et stocké. Les exécutions utilisant ce profil démarreront déjà connectées

Aucune donnée de session trouvée

Aucun cookie ni stockage persistant n'est apparu après la connexion. Cette application conserve peut-être l'authentification uniquement en mémoire, ce que les profils ne peuvent pas restaurer

Impossible d'enregistrer le profil

Rien n'a été enregistré, et le navigateur en direct est toujours ouvert : réessayez sans vous reconnecter

Si la capture signale qu'IndexedDB n'a pas été inclus, le Profil fonctionne généralement quand même. La plupart des applications conservent l'authentification dans les cookies.

Donner à un Environnement son propre Profil

Un Profil s'applique à tous les Environnements du projet de test, ou à un seul Environnement. Quand une exécution lit un nom de profil, elle prend le Profil de son Environnement s'il existe, et sinon le Profil du projet qui porte le même nom. C'est la même règle que pour les variables : un même cas de test se connecte avec un utilisateur différent sur Staging et sur Production, sans modifier ses étapes.

Pour donner à un Environnement son propre compte :

  1. Sélectionnez Configuration, puis Environnements, et ouvrez l'Environnement.

  2. Ouvrez l'onglet Profils authentifiés. Il liste les Profils de cet Environnement et les Profils du projet dont il hérite.

  3. Sur un Profil hérité, sélectionnez Remplacer pour cet environnement. La fenêtre d'enregistrement s'ouvre avec le nom déjà rempli, et enregistre le Profil pour cet Environnement uniquement.

La colonne Source indique l'origine de chaque ligne : Environnement, Projet ou Remplace le projet. Les lignes héritées sont ici en lecture seule. Pour revenir au Profil du projet, sélectionnez Retirer le remplacement sur la ligne qui remplace. Cela supprime le Profil de l'Environnement et sa session enregistrée.

L'onglet Identifiants et variables de l'Environnement présente les variables de la même façon.

Laisser un cas de test créer le Profil

L'enregistrement manuel est le moyen le plus rapide de démarrer. Pour une suite qui s'exécute régulièrement, il vaut mieux laisser un cas de test se connecter et enregistrer le Profil, pour que rien ne dépende de quelqu'un qui pense à en enregistrer un avant expiration.

Le modèle recommandé est un groupe de test avec un test prérequis :

  1. Écrivez un cas de test qui se connecte et se termine par une étape Capture de profil.

  2. Ajoutez-le à un groupe de test et définissez-le comme le test prérequis du groupe. Il s'exécute alors en premier, et le reste du groupe ne s'exécute que s'il a réussi.

  3. Faites commencer tous les autres cas de test du groupe par une étape Injection de profil pointant vers ce même nom de profil.

Pour exécuter le groupe sur plusieurs Environnements, activez Enregistrer par environnement dans l'étape Capture de profil. Chaque exécution enregistre alors la session dans le Profil de son propre Environnement, et crée ce Profil s'il n'existe pas.

Le test prérequis se connecte une seule fois, et tous les cas de test derrière lui démarrent déjà connectés. Une connexion qui casse fait échouer un seul cas de test, à un endroit évident, au lieu de les faire échouer chacun séparément pour ce qui ressemble à chaque fois à une raison différente.

Lire la liste des Profils authentifiés

Colonne

Ce qu'elle affiche

Profil

Le nom du profil, avec un badge quand sa session a échoué

Capturé sur

L'Environnement sur lequel la session a été enregistrée, et un résumé tel que « 12 cookies · 2 origines »

Dernière capture

Quand la session stockée a été écrite pour la dernière fois, et par qui : Capturé par un utilisateur, ou Capturé par l'exécution ou Renouvelé par l'exécution avec un lien vers l'exécution

Utilisé par

Le nombre de cas de test qui injectent le Profil

Verrouillé par

L'exécution qui détient le Profil, quand une étape d'injection Exclusif ou un pool l'a réservé

Thunders ne prédit pas l'expiration d'une session, car c'est votre application qui en décide sur son serveur. À la place, chaque exécution qui injecte un Profil vérifie que le navigateur arrive là où la capture s'était terminée. Un Profil affiche Session rejetée quand l'application a envoyé le navigateur ailleurs, par exemple vers sa page de connexion, et Session non vérifiée quand Thunders n'a pas pu vérifier le résultat. Le badge disparaît après la prochaine exécution qui arrive connectée. Pour remplacer une session qui ne fonctionne plus, enregistrez le Profil à nouveau sous le même nom.

Sélectionnez Voir le contenu enregistré pour inspecter ce qu'un Profil contient : les noms de cookies, leurs domaines et leurs indicateurs, ainsi que les entrées localStorage et IndexedDB, toutes valeurs masquées.

Renommer et supprimer

Les deux sont plus risqués qu'il n'y paraît, car les étapes de test identifient un Profil par son nom.

Renommer casse tous les cas de test qui injectent le Profil sous son ancien nom, et la fenêtre vous avertit du nombre exact avant d'enregistrer. Supprimer retire le Profil et sa session enregistrée, et la confirmation indique combien de cas de test échoueront.

Si vous renommez, mettez à jour les étapes qui pointaient vers l'ancien nom dans la foulée.

Questions fréquentes

Que conserve exactement Thunders quand j'enregistre un Profil ?

La session que votre application a créée après votre connexion : ses cookies, ses entrées localStorage et ses bases IndexedDB. Les identifiants et les frappes clavier ne sont jamais capturés, et ce qui est stocké est chiffré au repos et masqué dans l'interface. Pour des identifiants qu'un cas de test doit saisir, utilisez un secret.

Faut-il enregistrer un Profil à la main ou laisser un cas de test le capturer ?

Enregistrez à la main pour démarrer, et pour un besoin ponctuel. Pour une suite que vous exécutez régulièrement, laissez un cas de test le capturer et faites-en le test prérequis du groupe de test : la connexion se fait alors à neuf à chaque exécution et personne n'a à penser à rafraîchir quoi que ce soit.

Quelles applications fonctionnent le mieux avec les Profils authentifiés ?

Toute application qui conserve sa session dans les cookies ou le stockage du navigateur, ce qui est le cas de la grande majorité. La capture vous le dit immédiatement : « Profil capturé » signifie que tout est en place, et « Aucune donnée de session trouvée » signifie que cette application conserve l'authentification uniquement en mémoire, auquel cas continuez à vous connecter dans le cas de test.

Combien de temps un Profil authentifié dure-t-il ?

Aussi longtemps que votre application accepte la session qu'elle a émise. Thunders ne devine pas de date d'expiration. La liste affiche la Dernière capture, et un Profil affiche Session rejetée dès qu'une exécution constate que la session ne connecte plus l'utilisateur. Les étapes d'injection où l'option Renouveler la session enregistrée est activée sauvegardent à chaque exécution la session renvoyée par l'application, ce qui prolonge la durée de vie du Profil avec les applications qui étendent une session à chaque visite.

Puis-je utiliser un Profil dans plusieurs cas de test ?

Oui, et c'est tout l'intérêt. Autant de cas de test que vous voulez peuvent injecter le même Profil. Quand des exécutions parallèles ne doivent pas partager un compte, regroupez plusieurs Profils dans un pool. Voir Comment donner à chaque exécution parallèle son propre compte ?

Les Profils authentifiés consomment-ils des crédits ?

Oui, un Profil authentifié est une entité facturée.

Comment couvrir plusieurs Environnements ?

Enregistrez un Profil du projet, puis remplacez-le sur chaque Environnement qui a besoin d'un autre compte, avec Remplacer pour cet environnement. Une exécution prend d'abord le Profil de son Environnement, et sinon le Profil du projet : l'étape d'injection garde un seul nom.

Comment garder un Profil fonctionnel quand mon application termine la session à la déconnexion ?

Terminez la capture alors que l'utilisateur est encore connecté. Une déconnexion après la capture, dans le navigateur ou dans le cas de test, peut fermer la session sur le serveur : chaque exécution suivante arrive alors sur la page de connexion avec Session rejetée. Enregistrez le Profil à nouveau, sans la déconnexion.

Où se trouve maintenant la page des Profils authentifiés ?

C'est désormais un onglet des Paramètres du projet, à côté de Identifiants et variables. Chaque Environnement a aussi son propre onglet Profils authentifiés. L'ancienne adresse ouvre le nouvel onglet.

Avez-vous trouvé la réponse à votre question ?