testim io tutorial speed up authoring
Dans ce didacticiel pratique, vous apprendrez à créer des tests stables en quelques minutes à l'aide de l'outil d'automatisation Testim et à utiliser le processus d'apprentissage automatique pour accélérer la création, l'exécution et la maintenance des tests automatisés.
Lorsque nous entendons l'expression «outil d'automatisation», les principales considérations qui nous viennent à l'esprit en ce qui concerne nos tests sont les suivantes:
comment ouvrir un fichier binaire dans windows
- Création et exécution
- Stabilité
- Réutilisabilité
- Extensibilité
- Entretien
- Dépannage
- Rapports
- Intégration CI / CD
Il existe de nombreux outils sur le marché qui traitent un ou quelques-uns des facteurs ci-dessus, mais pas tous. C'est là que Testim.io entre en scène.
Testim.io n'est pas un outil mais une plate-forme qui inclut presque tous les facteurs premiers comme la création et l'exécution, la maintenance, le dépannage, le reporting, etc., des tests automatisés. Avec l'introduction du concept de localisateurs dynamiques, ils concentrent plus de types de tests tels que les tests fonctionnels, les tests de bout en bout et les tests d'interface utilisateur.
Il augmente l'extensibilité et la stabilité de vos suites de tests. Et donne également aux équipes et aux organisations, la flexibilité d'étendre les fonctionnalités de la plateforme en utilisant une logique de programmation complexe avec JavaScript et HTML.
Voici un aperçu détaillé de Testim.io et de la manière dont il aide à surmonter certains des défis auxquels les clients sont confrontés lors de l'automatisation.
Ce que vous apprendrez:
- En quoi cet outil est-il différent des autres outils?
- Testim.io est une plate-forme et PAS un enregistrement ni un outil de lecture
- Aborder les facteurs clés
- Conclusion
- lecture recommandée
En quoi cet outil est-il différent des autres outils?
Afin de comprendre comment Testim se différencie des autres outils, revenons en arrière sur l'évolution des outils d'automatisation au cours de la dernière décennie.
Au cours des 10 dernières années, plusieurs outils de fournisseurs et outils open source ont tenté de résoudre les différents problèmes liés aux tests automatisés. Mais, un problème majeur que personne n'a abordé jusqu'à présent est l'utilisation d'identifiants statiques.
Par exemple , disons qu'un développeur modifie le nom de l'ID ou un attribut d'un élément sur la page Web. Les tests automatisés sont immédiatement interrompus en raison de ce changement, car il fait toujours référence à l'ancien nom d'identification. Cela conduit à des tests instables et les testeurs doivent passer beaucoup de temps à les maintenir.
Ils ont introduit le concept de Localisateurs dynamiques . L'intelligence artificielle (IA) sous la plateforme en temps réel, analyse tous les objets DOM d'une page et en extrait les objets et ses propriétés.
Enfin, l'IA décide de la meilleure stratégie de localisation pour localiser un élément particulier sur la base de cette analyse.
Pour cette raison, même si un développeur modifie l'attribut d'un élément, le test continue de s'exécuter et cela conduit à des tests plus stables. En conséquence, la création et l'exécution de tests automatisés sont beaucoup plus rapides et plus stables.
Testim.io est une plate-forme et PAS un enregistrement ni un outil de lecture
Tout d'abord, ce n'est pas un outil mais une plateforme.
Il possède des fonctionnalités robustes qui aident non seulement à automatiser vos tests, mais il prend également en charge les autres aspects importants de vos tests tels que l'exécution de vos tests localement et dans le cloud (leur grille privée ou grille tierce), l'intégration avec CI / CD systèmes, en capturant les journaux et les captures d'écran des tests, donnant un rapport détaillé des tests avec des graphiques, des statistiques et d'autres informations connexes.
Et enfin, rendre la capture et le rapport de bogues très simples en intégrant les outils de suivi de bogues largement utilisés.
Deuxièmement, cela donne aux organisations et aux équipes la flexibilité de créer leurs propres wrappers autour de la plate-forme en utilisant une logique de programmation complexe avec JavaScript et HTML. De cette manière, n'importe qui peut étendre les fonctionnalités de la plateforme.
Enfin, la plateforme s'aligne sur le Paradigme Shift-Left où les développeurs et les testeurs peuvent commencer à écrire les tests dès le début en travaillant sur différentes branches sans écraser les modifications de chacun. Il aide également les équipes à collaborer et donne la flexibilité à quiconque d'écrire des tests automatisés via ses fonctionnalités intégrées.
De cette façon, même un membre non technique de l'équipe peut apporter une contribution précieuse à vos tests automatisés. La plateforme contribue à inculquer le concept selon lequel, les tests automatisés doivent être simples, efficaces, stables et collaboratifs.
Aborder les facteurs clés
Comment Testim aborde-t-il les facteurs clés essentiels aux tests automatisés?
Création et exécution
Les tests automatisés doivent être faciles à créer et à exécuter de n'importe où et à tout moment.
Testim vous aide à le faire des manières suivantes:
1) Créer un test
Nous créons un nouveau test en cliquant sur 'Créer un nouveau' ou 'Nouveau test' .
2) Enregistrement et lecture d'un test
Une fois que nous cliquons sur le 'Record' bouton, nous pouvons enregistrer différentes actions des utilisateurs dans notre application.
Après avoir enregistré les différentes actions, cliquez sur 'Arrête d'enregistrer' bouton pour terminer l'enregistrement de nos tests. Utilisez le 'Jouer' pour rejouer le test enregistré et le 'Sauvegarder' bouton pour enregistrer les tests.
3) Validations et assertions
Cette plate-forme permet de valider différents attributs d'un élément et des API vraiment simples.
Diverses options pour les utilisateurs telles que:
- Ajout de validations personnalisées à l'aide de JavaScript et HTML
- Valider la visibilité des éléments
- Valider le texte de l'élément
- Validation du niveau de pixel
- Validation au niveau de l'API
4) Captures d'écran
Pendant que chaque test est enregistré, la plate-forme prend une capture d'écran de tous les résultats de réussite et d'échec de chaque étape. En conséquence, les utilisateurs trouvent plus facile de résoudre les problèmes et de comprendre ce qui se passe sous le capot.
Par exemple , Dans la capture d'écran ci-dessous, nous remarquerons que les attributs du 'Sélectionner la destination' bouton ont changé mais le test a toujours fonctionné car l'outil AI utilisé Localisateurs dynamiques . De plus, la fonctionnalité du système n'a pas changé mais seulement l'attribut d'un élément.
Nous obtenons également la capture d'écran de ce qui s'est exactement passé lors de l'exécution du test en affichant l'image attendue (ligne de base) et l'image réelle.
(Remarque:Cliquez sur l'image ci-dessous pour une vue agrandie)
5) Commentaires sur chaque étape
L'utilisateur reçoit également les commentaires sur chaque étape en termes de réussite ou d'échec des tests en affichant un 'Vert' ou 'Icône rouge' en haut à gauche de chaque étape comme indiqué ci-dessous:
6) Tests d'étiquetage
Testim fournit la fonction d'étiqueter chaque test créé par un utilisateur.
Il y a 2 raisons pour lesquelles nous pouvons vouloir étiqueter un test:
- Aide à identifier la raison pour laquelle le test a été créé en premier lieu.
- Aide à exécuter les tests avec la même étiquette en même temps via la fonction CLI.
La façon dont nous créons les étiquettes est en cliquant sur le 'Étiqueter' et sélectionnez une étiquette existante ou créez-en une nouvelle.
7) Documentation utilisateur
Ils fournissent aux utilisateurs toute la documentation dont ils auront besoin pour utiliser les différentes fonctionnalités de cette plateforme.
La plupart des réponses sur l'utilisation de cette plateforme peuvent être trouvées en cliquant sur le 'Éduquer' onglet et en visitant le site de documentation comme indiqué ci-dessous:
Pour les raisons ci-dessus, Testim.io permet de rendre la création et l'exécution de tests très rapides et simples. En quelques secondes, un utilisateur peut enregistrer, rejouer et sauvegarder les tests.
Stabilité
Test des utilisations Localisateurs dynamiques au lieu des identifiants statiques. Pour cette raison, les tests sont plus stables et plus nous exécutons les tests, plus l'IA devient intelligente pour assurer plus de stabilité aux tests automatisés.
Un utilisateur pourra voir les différentes stratégies de localisation que son IA utilise pour localiser un élément dans l'EDI, via le Panneau de propriétés , pour chaque élément avec lequel nous interagissons via nos tests automatisés.
Comme nous pouvons le remarquer, l'IA analyse tous les objets DOM, les répertorie dans le panneau Propriétés avec le classement de chaque stratégie de localisation pour cet élément particulier. De cette façon, même si l'attribut d'un élément change, l'IA peut utiliser une stratégie de localisation différente de la liste déjà analysée des objets DOM.
Ainsi, un utilisateur n'a pas à se soucier des tests irréguliers.
Réutilisabilité
L'une des bonnes pratiques d'écriture de tests automatisés consiste à créer des composants réutilisables pouvant être utilisés dans différentes parties de notre suite de tests.
Pourquoi est-ce important?
La création de composants réutilisables est importante car:
- Cela contribue à augmenter la lisibilité des tests automatisés.
- Économise des efforts en ne répétant pas le même ensemble d'étapes dans différentes parties des tests.
- Toute modification de l'étape réutilisable ne doit être effectuée qu'à un seul endroit et se reflète tout au long des tests, dans différents projets.
- Rend les tests automatisés plus extensibles.
Testim contribue à garantir la réutilisation en «Regroupement» et «Paramétrage».
1) Regroupement
N'importe quel nombre d'étapes associées peut être regroupé en un seul composant réutilisable.
Par exemple - Le 'Connexion' Le scénario est l'une des étapes les plus couramment utilisées dans toute application. La façon dont nous pouvons créer une étape de «connexion» réutilisable serait de sélectionner les étapes que nous voulons regrouper puis de cliquer sur 'Ajouter un nouveau groupe' comme indiqué ci-dessous:
2) Paramétrage
Cette plate-forme offre la possibilité de tester l'application via diverses combinaisons d'entrées via le paramétrage.
Cela peut être réalisé de différentes manières.
Une façon de faire est de donner tous les paramètres d'entrée dont nous aurions besoin pour tester l'application sous la forme d'un fichier JSON dans l'étape de configuration (première étape de nos tests) comme indiqué ci-dessous:
Extensibilité
Cet outil donne la flexibilité aux organisations d'étendre les fonctionnalités de cette plate-forme en utilisant JavaScript et HTML. De cette façon, dans toutes les fonctionnalités que cette plate-forme ne gère pas, l'utilisateur peut écrire son propre code pour créer un cadre d'automatisation robuste
Par exemple - Disons que nous voulons valider le 'Sélectionner la destination' bouton de nos exemples précédents.
La façon de procéder serait.
- Cliquer sur 'Ajouter une action personnalisée'.
- Donnez un nom à la nouvelle étape et cliquez sur 'Confirmer'.
- Cliquez sur 'PARAMS' et sélectionnez 'HTML' pour cet exemple.
- Ajouter un code personnalisé.
- La nouvelle étape avec Code personnalisé est ajouté à la liste des étapes déjà existantes.
Entretien
L'un des facteurs les plus importants liés aux tests automatisés est ' Entretien ».
Beaucoup d'efforts sont consacrés à la maintenance des tests plutôt qu'à l'écriture des tests réels. Cela entraîne un gaspillage d'efforts et de temps précieux de la part des ressources qui auraient plutôt pu passer ce temps à tester l'application réelle.
Testim aide à minimiser l'effort requis pour maintenir les tests automatisés des manières suivantes:
1) Contrôle de version
À tout moment, il est important de disposer des journaux des modifications apportées à un test particulier. De cette façon, nous pouvons toujours revenir à l'ancienne version d'un test en cas de besoin. Cette plateforme fournit cette fonctionnalité en affichant tout l'historique des versions en allant dans le panneau Propriétés de l'étape de configuration et en cliquant sur 'Voir les anciennes révisions' .
2) ramification
Dans le ' Changement de paradigme vers la gauche »Où le développement et les tests doivent commencer en parallèle le plus tôt possible dans le cycle de vie du développement logiciel.
En gardant cela à l'esprit, ils ont fourni la fonctionnalité aux équipes pour créer des branches séparées pour chaque membre de l'équipe et travailler sur les mêmes projets et tests. De cette façon, personne ne peut écraser les modifications des autres membres de l'équipe et les équipes peuvent travailler sur la même base de code à tout moment.
Il vous suffit de sélectionner 'Fourchette' pour créer une nouvelle branche et vous pouvez également basculer entre les branches existantes.
Les utilisateurs ont la possibilité de programmer leurs tests. Cela permet d'exécuter les tests automatiquement à un certain jour et à une certaine heure sans aucune intervention manuelle. Nous pouvons également être avertis par e-mail en cas d'erreur.
Dépannage
En tant que testeurs, nous passons un temps considérable à résoudre les problèmes. Pour aider au dépannage, cette plate-forme offre différentes options aux utilisateurs pour réduire la portée du problème.
Ces options comprennent:
1) Captures d'écran
La fonction de capture d'écran expliquée dans la section «Création et exécution» aide les utilisateurs à savoir quelle était l'image de base et quelle est l'image réelle trouvée.
2) Panneau des propriétés
Le panneau des propriétés permet de capturer les messages d'erreur et de les afficher à l'utilisateur.
Par exemple, Lorsqu'un élément n'est pas visible et que le test échoue, nous obtenons le message d'erreur ci-dessous dans le panneau.
3) Journaux de test
Les journaux sont une riche source d'informations sur ce qui s'est passé sous l'interface utilisateur. L'outil fournit des journaux de test lorsque l'utilisateur exécute les tests sur notre grille ou une grille tierce. L'option se trouve dans le panneau des propriétés de l'étape de configuration.
4) Documentation
Testim a déployé beaucoup d'efforts pour documenter la plupart des fonctionnalités de l'outil dans la documentation utilisateur qui se trouve sous le 'Éduquer' languette.
Rapports
C'est l'un des aspects les plus importants de vos tests pour obtenir une visibilité sur les tests exécutés, réussis, échoués, la durée de l'exécution, les combinaisons de navigateurs, etc.
Testim.io fournit 2 types de fonctionnalité de rapport:
1) Rapports sur la suite et les exécutions de test
Lorsque les utilisateurs cliquent sur l'option «Exécutions» dans le menu latéral, ils peuvent voir toute la suite et les exécutions de test avec tous les détails requis, comme indiqué ci-dessous. Cela permet d'obtenir une visibilité sur les exécutions de test et facilite la création de rapports.
2) Signaler des bogues
Nous passons un temps considérable dans une journée à signaler des bogues. C'est l'une des parties les plus critiques et les plus chronophages des tests.
Testim.io permet de réduire le temps de signalement des bogues et d'augmenter la productivité en donnant une extension chrome pour capturer et signaler les bogues rapidement. Nous pouvons capturer des captures d'écran, des vidéos du bogue et enregistrer un test automatisé réel avec cette extension. Il s'intègre à la plupart des systèmes de suivi de bogues largement utilisés.
Après avoir capturé le défaut et cliqué sur 'Publier', il remplit automatiquement toutes les étapes requises dans la description du bogue. Il ajoute également la capture d'écran, la vidéo et les tests automatisés avec le défaut.
(Remarque:Cliquez sur l'image ci-dessous pour une vue agrandie)
Intégration CI / CD
Cet outil s'intègre à différents systèmes CI / CD tels que Jenkins, Travis CI, Circle CI et d'autres outils de construction. Il s'intègre également aux grilles tierces hébergeant leur propre cloud privé pour exécuter des tests. Tout cela se fait via la CLI (Command Line Interface) que nous fournissons dans la plateforme.
En cliquant sur le 'Réglages' L'icône du menu latéral ouvre la CLI.
Il est pré-rempli avec les commandes nécessaires pour exécuter les tests sur les systèmes CI / CD, les grilles tierces ou leurs grilles. Il suffit de cliquer sur 'Copie' et littéralement, collez la commande dans n'importe quel outil de construction ou grille que l'organisation utilise.
La CLI accepte également les autres paramètres pour exécuter des tests spécifiques, pour exécuter des tests en parallèle, pour remplacer l'URL de base et bien d'autres fonctionnalités.
=> Tous les paramètres utilisables sont listés ici dans ce guide de l'utilisateur .
Conclusion
En un mot, la plate-forme Testim.io aide à surmonter certains des principaux défis liés à l'automatisation, comme décrit dans les sections ci-dessus. Avec cela, vous pouvez rendre l'automatisation plus simple et plus stable.
Cette plateforme aidera:
- Des membres de l'équipe non techniques pour s'impliquer dans l'automatisation et rédiger des tests solides.
- Les membres de l'équipe technique utilisent une logique de programmation complexe pour étendre les fonctionnalités de cette plateforme.
- La création et l'exécution des tests sont très rapides.
- Les tests sont plus stables avec l'utilisation de 'Localisateurs dynamiques' .
Dans l'ensemble, c'est une plate-forme qui aide dans diverses facettes de l'automatisation des tests et ils sont en train de créer plus de fonctionnalités pour aider les équipes et les organisations agiles à collaborer avec la devise de UNE ÉQUIPE et UN OBJECTIF.
=> Vous pouvez en savoir plus sur cet outil ici
N'hésitez pas à demander si vous avez des questions et à partager également vos réflexions dans la section commentaires, car nous aimerions savoir quels sont les défis que vous rencontrez avec l'automatisation et comment vous avez réussi à les résoudre.
lecture recommandée
- Comment exécuter une exécution à grande échelle de tests Appium en parallèle
- Intégrez-vous à votre IDE pour exécuter vos tests Appium
- Créer des tests Appium pour une application Android
- Exécution de vos tests Appium en parallèle à l'aide d'Appium Studio pour Eclipse
- Création de tests d'époques à l'aide d'epochs Studio pour Eclipse
- Ecrire des tests unitaires avec Spock Framework
- Rapports Specflow: Comment générer des rapports de test et exécuter des tests sélectifs
- Déploiement Java: création et exécution d'un fichier JAR Java