Critères de recherche utilisés par le package Enregistreur
- Dernière mise à jour2024/04/05
Critères de recherche utilisés par le package Enregistreur
Lorsque vous enregistrez une commande d'interface utilisateur (IU) avec le package Enregistreur, un ensemble de propriétés est capturé. Ces propriétés sont utilisées pour identifier la commande d'interface utilisateur enregistrée pendant l'exécution et interagir avec lui.
Les commandes que vous capturez à l'aide de l'enregistreur sont appelées objets. Lorsque l'enregistreur capture un objet, il capture toutes les propriétés possibles qui identifient l'objet de manière unique. Les propriétés sélectionnées sont utilisées comme « critères de recherche » pour rechercher et identifier la commande dans l'application cible pendant l'exécution.
Pendant l'exécution du robot, l'enregistreur parcourt l'arborescence des commandes de l'application cible et sélectionne la commande qui correspond aux propriétés enregistrées, également connues sous le nom de critères de recherche.
Par défaut, l'enregistreur sélectionne les meilleurs critères de recherche possible pour une commande enregistrée en fonction de la technologie. Cependant, les robots peuvent rencontrer des problèmes lorsqu'ils essaient de trouver des commandes d'interface utilisateur précédemment enregistrées. Voici quelques-unes des raisons les plus courantes de cette défaillance :
- Propriétés dynamiques : si les propriétés des éléments capturés changent à chaque session ou chargement de page, et si les critères de recherche incluent l'une des propriétés dynamiques, le robot peut échouer pendant l'exécution.
- Changements fréquents de l'interface utilisateur : si l'application cible est fréquemment mise à jour avec des changements d'interface utilisateur, et si les propriétés des commandes d'interface utilisateur enregistrées changent, les robots peuvent rencontrer des problèmes lorsqu'ils essaient de reconnaître les commandes enregistrées.
- Commandes avec propriétés dupliquées : si plusieurs commandes ont les mêmes propriétés, des résultats inattendus peuvent survenir ou le robot risque de ne pas reconnaître les commandes.
Dans de telles situations, si vos robots dépendent uniquement des critères de recherche par défaut capturés par l'enregistreur, ils peuvent rencontrer des difficultés à reconnaître les commandes capturées. Les critères de recherche capturés fonctionnent de manière cohérente tant qu'il n'y a pas d'autres objets correspondant aux critères ou que les objets eux-mêmes ne sont pas régulièrement mis à jour. Par conséquent, après avoir enregistré les commandes de l'interface utilisateur, vous devez tenir compte de ces facteurs et essayer de configurer des critères de recherche qui peuvent aider votre robot à identifier de manière unique les commandes enregistrées au moment de l'exécution du robot.
Propriétés de recherche et de validation pour la technologie HTML
Les critères de recherche sont une combinaison des propriétés d'objet de recherche et des propriétés de validation.
- Classe HTML
- ID HTML
- Nom HTML
- Cadre Src HTML
- Balise HTML
- Type HTML
- Texte interne HTML
- Chemin du cadre HTML
- DOMXPath
- Chemin
- HTML encadré
- Chemin du cadreDOMX
- Classe HTML
- Hauteur HTML
- HTML Href
- ID HTML
- HTML gauche
- Nom HTML
- HTML parent
- Index de la source HTML
- Balise HTML
- Titre HTML
- Haut du HTML
- Type HTML
- Valeur HTML
- Largeur HTML
- Texte interne HTML
- HTML interne
- HTML externe
- Est visible
Exemple de propriétés dynamiques et d'utilisation de critères de recherche personnalisés
Supposons que certaines propriétés d'une page Web que vous essayez d'enregistrer changent à chaque session. Si les propriétés qui changent sont incluses, le robot ne reconnaît pas les commandes. Prenons l'exemple de la page de connexion présentée dans la vidéo suivante. La propriété ID du bouton Connexion change à chaque fois que la page est chargée.
Lorsque vous enregistrez le bouton Connexion sur la page, l'enregistreur capture l'ID comme l'une des propriétés par défaut.
![Exemple de propriété d'un objet dynamique](https://automationanywhere-be-prod.automationanywhere.com/bundle/enterprise-v2019/page/recordersearchcriteriaexample.png?_LANG=frfr)
Si vous exécutez le robot sans mettre à jour les critères de recherche, le robot échoue en cours d'exécution, car l'ID du bouton de connexion change à chaque fois que la page est chargée.
![Erreur dans les critères de recherche](https://automationanywhere-be-prod.automationanywhere.com/bundle/enterprise-v2019/page/recorderpackagesearchcriteriaerror.png?_LANG=frfr)
Comme la propriété ID ne cesse de changer, le robot échoue, car il ne parvient pas à trouver le bouton Connexion dont l'ID a été capturé précédemment. Par conséquent, l'utilisation de la propriété ID dans ce scénario ne fonctionnera pas. Le problème peut être facilement résolu en supprimant la propriété ID et en sélectionnant la propriété innerHTML comme le montre la vidéo suivante. De cette façon, le robot ne cherche pas une commande avec l'ID btn1696911842030-8845. Au lieu de cela, il dépend de la combinaison des propriétés DOMXPath et innerHTML pour identifier la commande de manière unique.
Considérations relatives à la modification des propriétés d'un objet au format HTML
- Si la page Web que vous envisagez d'enregistrer possède des propriétés dynamiques, omettez-les dans les propriétés de l'objet enregistré. Sélectionnez plutôt des propriétés qui ne changeront pas pendant l'exécution.
- Si plusieurs commandes d'interface utilisateur ont les mêmes propriétés, sélectionnez les propriétés qui permettent d'identifier une commande d'interface utilisateur spécifique de manière unique. Par exemple, s'il y a plusieurs boutons de type Bouton et si le texte innerHTML (étiquettes des boutons) est différent pour chaque bouton, l'utilisation du texte innerHTML comme l'une des propriétés permet d'identifier la commande au cours de l'exécution.
- Utilisez une propriété DOMXPath dynamique ou relative qui fonctionne avec les changements de mise en page. Évitez d'utiliser des propriétés DOMXPath statiques si la mise en page change ou si des commandes dynamiques sont ajoutées à l'interface utilisateur.
- Utilisez le caractère générique (« * ») si certains caractères des valeurs des propriétés sont dynamiques.