Le Guide Recorder génère des sélecteurs incorrects pour les éléments de menu

Request description

Bonjour,

Nous utilisons actuellement la fonctionnalité Recorder et avons identifié un comportement qui pourrait devenir un point de frustration majeur pour nos utilisateurs métiers.

Nous avons constaté que le Recorder ne génère pas les sélecteurs corrects pour les éléments de menu. Il produit systématiquement un sélecteur du type #menu [data-path='undefined'].

Bien qu’il soit possible de corriger manuellement ces sélecteurs dans l’éditeur de Tour, notre objectif est de permettre à des utilisateurs non techniques (profils métiers) d’utiliser le Recorder de manière autonome. Cette nécessité de correction manuelle contredit cet objectif.

Serait-il possible d’examiner ce point afin que le Recorder puisse générer les sélecteurs appropriés pour les éléments de menu ? Cela améliorerait grandement l’expérience utilisateur pour nos équipes.

[Platform]
Status=OK
Version=6.3.5
BuiltOn=2026-02-20 11:40

1 Like

Bonjour,

Les éléments de menu sont composés de plusieurs éléments :

<li>
    <a href="" class="js-searchable" data-obj="Dataset" data-path="DomainProject.Dataset">
        <div class="ico"></div>
        <span class="text">Datasets</span>
    </a>
</li>

En l’état, lors de la sélection d’étape de guide, si vous faites un click droit sur l’icone ou le texte de l’élément, la plateforme produit effectivement un sélecteur undefined : #menu [data-path='undefined'].
Si vous faites un click droit ailleurs : à droite du libellé par exemple, le sélecteur généré contient le bon data-path

Nous avons rendu le sélecteur plus robuste afin de ne pas devoir cliquer de façon précise pour générer un sélecteur correct.

1 Like

Ok, super. Cela va rendre l’experience des end-users plus fluide. Merci.

J’en profites pour poser une autre question sur un détail :slight_smile:

Le code de l’object du tour settings dans la démo n’est pas exactement le même que celui produit par le recorder :

  • Dans l’objet de la DEMO, les clés (name, condition,..) ne sont pas entourées de guillemets doubles. (JS object literal)
  • Dans les objets produit par le Recorder, les clés sont entourées de guillemets doubles. (JSON object).

Questions: Y-a-t’il un impact sur cette différence ? Est-ce qu’il y a une syntaxe “meilleure” que l’autre ?

Bonjour,

Pour préciser :

  • le recorder empile les étapes dans un vrai JSON en mémoire qu’il sérialise à la fin en base du tour, d’où la présence de guillemets,
  • Au runtime, les settings sont interprétés comme du JS car on doit souvent ajouter du code javascript au tour

Bref il n’y a pas de meilleure syntaxe puisqu’un tour est au final un JSON en javascript, donc “souple” sur les guillemets des clés.

Note:

Le recorder est encore assez expérimental voir incomplet. Il sert surtout au maker pour créer le “template” des étapes du tour afin de le corriger/améliorer manuellement ensuite, surtout s’il y a des changements de page asynchrones, des tests conditionnels de transition à scripter, des selectors complexes…

Nous sommes donc preneur de vos retours d’expérience pour l’améliorer. Personne n’a donné d’accès à des 'no-coders" à cette fonctionnalité. Des éléments n’ont pas de selector simples, du coup celui généré est rarement optimum ou très précis, on devra les améliorer au cas par cas.

Par exemple, le data-path a été crée en ce sens pour retrouver un item de menu très simplement sans spécifier son chemin complet dans le dom.

1 Like

Bonjour @Francois,

Ok, c’est clair, merci.

Note :
Je suis justement en mode “roleplay business team member”, en gardant à l’esprit que low-code != no-code, pour détecter les élements qui pourrait accélerer l’autonomie de nos “no-coders” sur l’adoption des features liés au User Guide (qui ont fortement impressionnés nos équipes métiers :smiley: )

2 Likes

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.