RPA France - Vulgarisation – Mon Panel Studio - Débogage - Episode 10

Bonjour à toi sur ce nouvel article ! :grin:

Suite du dernier article: nous avons vu ensemble les options de déboggage au niveau du ruban. Cette fois, on va s’intéresser aux options de debug au niveau du panel (panneau) à gauche :wink:

Quand je clique sur le bouton debug et que je clique sur Pause ou que le bot s’arrête à un breakpoint, à gauche, des nouvelles options s’offrent à moi:

image

(équivalent en français)

:point_right: Commençons par Variables locales (Locals)

Ce panneau indique les valeurs locales à un instant T: l’instant du breakpoint.

On y distingue 3 à 4 grands champs:

  • les arguments (optionnel)
  • les variables
  • les propriétés de l’activité précédente (effectuée juste avant le breakpoint)
  • les propriétés de l’activité qu’il s’apprête à exécuter (activité sur laquelle se trouve le breakpoint)

Sur ces 4 grands champs, 3 grosses colonnes:

  • le nom que tu as donné à la variable (ou à l’argument), et pour les propriétés c’est le nom donné par le constructeur de l’activité)
  • le type
  • la valeur à l’instant T. Si la valeur est plus grande que l’espace qui s’affiche, on peut:
    → soit cliquer sur la flèche à gauche du nom de ma variable pour voir les options héritées
    → soit sur le champ de la valeur, placer la souris sur le champ et une loupe apparaîtra: cliquer dessus pour voir mieux

:cloud_with_lightning: Instant astuce
Si tes valeurs ne sont pas bonnes, tu peux double cliquer sur le champ de la valeur et taper une autre valeur à sa place (en respectant le typage: si string mettre une valeur entre deux "", si un chiffre ne pas mettre de lettres, etc).

:point_right: Enchaînons sur mon option préférée: Immédiat (ou Immediate en anglais)

Ce panneau te permet de requêter directement le nom de ta variable (ou argument) dont tu souhaites connaître la valeur à l’instant T.
Pourquoi c’est super pratique ? :face_with_raised_eyebrow:
Parce que quand son workflow commence à avoir une quarantaine de variables, on ne trouve plus aussi facilement sa variable dans le panneau de Variables Locales… c’est pas rangé par ordre alphabétique :disappointed_relieved:

Comment on fait concrètement pour l’utiliser ?
Dans la zone rose, appuie sur espace et toutes tes variables/arguments apparaissent. Choisis celle que tu veux et clique sur entrée: la voilà qui apparaît en zone jaune. Et voilà !

:cloud_with_lightning: Instant Astuce
Le panneau Immédiat ne régit pas aux mêmes règles qu’un WriteLine ou LogMessage. Pas besoin de convertir en string pour voir le contenu :wink:

:warning: Attention: au bout d’une certaine utilisation d’Immediate, en fonction du volume de données requêté, Studio peut montrer des signes de fatigue voire des erreurs. Il suffit de fermer Studio et de le rouvrir, pour que le panneau se réinitialise !

:point_right: Autre option: Surveillance (ou connue aussi sous le nom de Watch)

C’est en fait un moyen de pin, de mettre en favori des variables locales. Ca te permet de ne pas requêter 350 fois la valeur pour voir comment elle évolue, et ça te permet de ne pas avoir de la pollution de variables comme on pourrait en vivre avec le panneau de variables locales.

Comment faire concrètement ?
Dans le panneau Variables locales, clique gauche puis cliquer sur Surveiller.
Et hop, on la retrouve en double dans le panneau Surveillance:

:cloud_with_lightning: Instant Astuce !

Une fois que tu finis de surveiller une variable (je préfère l’expression mettre en favori :joy:) penser à l’effacer du tableau ! De cette manière, cet espace restera propre au fur et à mesure des autres debug que tu va faire. Sinon, cette zone ressemblera au panneau variables locales…
image

:point_right: Passons au panneau Pile d’appels (Stack)

Alors très honnêtement, je n’ai pas réussi à trouver une réelle utilité en condition réelle. Ca te permet de connaître le chemin par lequel le bot est passé, mais pas assez détaillé pour être exploité.
Je m’explique:

Voilà ce que ça donne sur un processus simple. Trois niveaux:

  • le 1er met en lumière l’activité que tu t’apprêtes à compiler
  • le 2e montre le scope le plus proche de l’activité que tu t’apprêtes à compiler
  • le 3e montre le workflow dans lequel tu bosses (ici vu que je suis directement dans un Main, dans un workflow, je vois donc workflow).
    Pour un projet plus complexe, je vais essayer de refaire le même exercice et voir si ça change. Mais à ce stade, je ne l’exploite pas.

:point_right: Dernier panneau, dont je découvre des trucs super au moment même où je vous écris: Breakpoint pannel, ou Points d’arrêts.

image

Je connaissais les breakpoints rouges ronds entièrement remplis ou entièrement vides, mais je ne connaissais pas ses dérivés ! (le losange, l’intérieur avec une croix)
D’après la documentation de UiPath, on a:

  • des points d’arrêt (donc le bot s’arrête en debug) → rond
  • des points d’arrêt (donc le bot s’arrête en debug) avec son log personnalisé, pour un meilleur traçage (suivi) → losange

:red_circle: [Rond avec une croix] Quand on veut faire un breakpoint (rond), je suppose que comme moi très cher développeur, tu as déjà eu le cas où tu voulais que le bot fasse un breakpoint uniquement sur untelle condition (pas à chaque fois que le robot passe par là). J’ai donc la joie de t’annoncer la nouvelle: c’est possible avec un rond rempli avec une crois dedans :wink:

:diamonds: [Losange avec une croix] Le losange, c’est pour faire un log personnalisé (avec ou sans condition)

Comment on fait ?

  1. Tu mets un breakpoint plein (comme tu as l’habitude de faire)
  2. Tu ouvres le panneau de breakpoint
  3. sur la même ligne que ton breakpoint, tu vois l’engrenage au loin à droite quasiment pas visible ? Tu cliques dessus, et tu te retrouves face à ça:

4 ) Si tu mets une condition seulement (même syntaxe que pour un if) ça te met un rond avec une croix
4 bis) Si tu mets un log personnalisé (même syntaxe que pour un writeline ou log message) ça te met un losange plein
4 bis bis) Si tu mets une condition (même syntaxe que if) + log personnalisé (même syntaxe que pour un writeline ou log message) ça te met un losange avec une croix

Et toi, tu connaissais ces options ?
Raconte !

Signé ta UiPath Community France

Et si tu veux toi aussi rejoindre ta communauté UiPath France, c’est par :arrow_forward: :arrow_backward: