Étape d'attente

L'étape d'attente vous permet de suspendre l'exécution d'un objet métier jusqu'à ce qu'une certaine condition soit remplie dans l'application cible. Il peut s'agir, par exemple, d'attendre l'apparition d'une fenêtre ou d'attendre un message particulier de la barre d'état. Votre objet métier peut attendre que l'un des différents résultats se produise. Par exemple, la validation de nouvelles données peut entraîner l'apparition d'une fenêtre contextuelle, d'une fenêtre de message d'erreur ou d'un résultat tout autre. Si aucun changement n'est détecté, il se peut que votre objet métier soit conçu pour se déplacer après un « délai avant expiration » précis. L'étape d'attente vous offre une solution face à cette incertitude en vous permettant de diviser le flux de votre objet métier en fonction du résultat observé. Dans ce sens, elle ressemble beaucoup à une étape du choix (où l'option « sinon » correspond à l'option « délai avant expiration » de l'étape d'attente).

Utilisations

Une étape d'attente offre deux utilisations principales : la détection de l'état de préparation pour l'interaction et la détection du résultat d'une action particulière

Une étape d'attente peut être utilisée pour assurer l'état de préparation de l'application cible. Par exemple, il peut être nécessaire d'attendre la fin du chargement de l'application après son lancement. Pour ce faire, il suffit d'attendre que la fenêtre principale de l'application soit visible. Un autre exemple serait d'attendre qu'un message « Inactivité du système » apparaisse dans la barre d'état avant d'envoyer de nouvelles données. Pour ce faire, il suffit d'attendre que le texte de la barre d'état affiche « Inactivité du système ».

Comme indiqué ci-dessus, lorsque plusieurs vérifications des conditions sont réalisées, il est possible de diviser le flux de l'objet métier, en fonction du résultat qui survient en premier.

Formulaire de propriétés

Le formulaire de propriétés d'attente contient une liste des conditions à vérifier. Les conditions seront vérifiées dans l'ordre croissant d'apparition dans la liste. Dès qu'une des conditions est remplie, l'objet métier suit la branche correspondante sur le diagramme de processus. Chaque condition est associée à une branche et les branches apparaissent sur le diagramme dans le même ordre que les conditions de la liste. Si aucune des conditions n'est remplie une fois la dernière condition vérifiée, les vérifications reprennent depuis la première ligne. Cette boucle persiste jusqu'à ce qu'une condition soit remplie ou que le délai avant expiration soit écoulé.

Par exemple, la première condition peut être « vérifier si une boîte de dialogue "enregistrer sous" existe » ; la deuxième condition peut être « vérifier si une fenêtre de message d'erreur existe ».

Chaque condition d'attente est composée d'un élément d'application, d'une condition, d'un type de comparaison et de la valeur attendue. L'élément d'application est la cible de la condition (la vérification de l'existence de la fenêtre, par exemple). La condition décrit quel état doit être vérifié par rapport à cet élément (par exemple, CheckExists, GetWindowText, etc.). Le type de comparaison décrit la méthode de comparaison de la valeur fournie par rapport aux données trouvées dans l'application cible. Cela peut servir à déterminer si les données sont égales ou inégales, si elles correspondent à un modèle de caractères génériques ou si une valeur est supérieure à une autre (dans le cas des nombres, par exemple).

Ajout d'une nouvelle condition d'attente

Cliquez d'abord sur le bouton « Ajouter » pour ajouter une nouvelle ligne. Ensuite, faites glisser et déposez un élément d'application depuis l'explorateur d'application à gauche dans le champ approprié.

Selon la nature de l'élément d'application (plus précisément si vous avez choisi de rendre l'élément d'application dynamique lors de sa création), il est possible que vous deviez lui fournir des paramètres en cliquant sur le bouton approprié. Ceci permet d'identifier l'élément à l'aide de données actives au moment de l'exécution.

Ensuite, vous devez choisir une condition dans la liste déroulante. Cette liste varie de façon dynamique en fonction du type d'élément d'application sélectionné. Si une condition n'apparaît pas dans la liste, elle ne peut pas être comparée à l'élément d'application sélectionné.

Vous pouvez choisir un type de comparaison personnalisé, par exemple pour effectuer une comparaison de modèles de caractères génériques. Toutefois, dans la plupart des cas, vous souhaiterez probablement utiliser le type de comparaison par défaut, qui est un test d'égalité.

Le dernier champ vous permet de saisir la valeur attendue. Par exemple, la valeur de CheckExists sera « Vrai » ou « Faux ». Dans le cas de GetText, la valeur sera le texte attendu. La valeur saisie ici doit correspondre parfaitement pour que la condition soit positive.

Spécification d'un délai avant expiration

Le champ de délai avant expiration se trouve tout en bas du formulaire de propriétés de l'étape d'attente. Il peut être rempli par une simple valeur numérique qui représente la durée maximale en secondes pendant laquelle l'étape d'attente vérifiera si l'une des conditions est remplie. Vous pouvez également utiliser une expression pour remplir la valeur du délai avant expiration. Cela est utile si vous souhaitez, par exemple, enregistrer une valeur globale de délai avant expiration dans un élément de données et référencer ces données dans toutes vos étapes d'attente.

Si aucune des conditions n'est remplie une fois le délai avant expiration écoulé, le flux d'objets métier suit le lien de l'étape de délai avant expiration sur le diagramme de processus. Si aucun lien de ce type n'existe, l'objet métier est interrompu par une erreur.