SI d'AUTRE dans le robot cadre avec des variables d'affectation
J'ai besoin pour exécuter certains mots-clés conditionnellement dans le robot cadre, mais je ne sais pas comment le faire, ça ne fonctionne pas. J'ai essayé plusieurs options, mais je suppose que j'ai le "if-ELSE" déclaration complètement faux..
Choose Particular Filter ${FILTER} And Uncheck All Values
${bool}= is filter opened ${AVAILABLE FILTERS} ${FILTER}
${uncheck_all_button}= run keyword if "${bool}" == "True" uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${uncheck_all_button}
... ELSE
... Set variable ${particular_filter}: find particular filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${particular_filter}
... Set variable ${uncheck_all_button}: uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
... click element ${uncheck_all_button}
Il échoue avec: Variable '${particular_filter}' not found.
Mais dans le cas où je le lance il ne devrait même pas aller à la branche ELSE parce que ${bool} est Vrai...
Ma fonction personnalisée is filter opened
vérifie juste si le filtre est déjà ouvert - si oui, retourne True.
Ma fonction personnalisée uncheck all in filter
retourne juste XPATH de "tout décocher" bouton.
Ma fonction personnalisée find particular filter
retourne XPATH de "filtre déroulant" bouton.
Dans l'ensemble de ce mot j'ai besoin de vérifier si le filtre de liste déroulante est déjà ouvert - si oui, puis-je cliquer directement sur ${uncheck_all_button}
, sinon si le filtre de liste déroulante n'est pas encore ouvert, je dois d'abord cliquer sur le filtre lui-même ${particular_filter}
et d'après ce que je peux cliquer sur ${uncheck_all_button}
J'ai aussi essayé les "mots clés" pour avoir comme ceci:
${uncheck_all_button}= run keyword if "${bool}" == "True" Set Variable uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
ou ceci:
run keyword if "${bool}" == "True" ${uncheck_all_button}= uncheck all in filter ${AVAILABLE FILTERS} ${FILTER}
J'ai aussi essayé avec ${bool} == "True"
et ${bool} == True
Mais rien ne fonctionne vraiment, toujours la même erreur 🙁
Merci beaucoup pour toute aide!
bien sûr, c'était la première chose que j'ai fait, comme je l'ai écrit, la valeur est Vrai..afin de ne pas comprendre pourquoi il va à la branche else..
OriginalL'auteur neliCZka | 2017-01-04
Vous devez vous connecter pour publier un commentaire.
Ayant if/then/ELSE avec plusieurs instructions dans chaque bloc ne fonctionne pas dans le Robot (ou que vous auriez à utiliser "Exécuter les mots-clés" je suppose, mais que deviendrait illisible). Je voudrais donc restructurer le code de cette façon:
Espère que cette aide.
OriginalL'auteur Laurent Bristiel
Basé sur le dessous de la syntaxe, de la mise à jour de votre code n vérifier.
Syntaxe de if-ELSE:
Syntaxe pour Définir une Variable" en fonction de la condition:
Que par votre code SI une partie,
si "bool=true", il s'exécute uniquement le mot-clé personnalisé "tout décocher dans le filtre" mais pas le "Cliquez sur l'élément" mot-clé. Si vous souhaitez à la fois les mots-clés pour être exécuté sur la base de l'état, puis utiliser "Exécuter les mots-clés mot-clé tel que mentionné dans le SI-SINON la syntaxe.
OriginalL'auteur Rakesh
Merci beaucoup, Laurent, votre solution est la bonne!
J'ai juste eu à faire quelques petits changements à faire:
OriginalL'auteur neliCZka
Soyez prudent à propos de l'indentation d'un espace unique gâchera votre flux d'exécution
OriginalL'auteur MD5