I need to create a nested loop in Robot framework. Can you please Help me do it?
${contents}= Get File ${file path}
@{lines}= Split to lines ${contents}
${matched elements}= Get Webelements ${LABEL PORTAIL XPATH }
: FOR ${element} IN @{matched elements}
\ ${text}= Get Text ${element}
\ : FOR ${line} IN @{lines}
\ Run Keyword If '${text}' == '${line}' Log '${text} matched'
I need to have a nested loop which compares all the ${text}
with all the @{lines}
in the file.
Thanks in Advance
Nested for loops
Having nested for loops is not supported directly, but it is possible to use a user keyword inside a for loop and have another for loop there.
Referenced from : http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#nested-for-loops
It isn't possible without custom keyword containing the inner loop. See doc: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#nested-for-loops
I'd say that such logic should be always written using some stronger language (python, java...) and then just called from RF.
No nested loops in RF; that can be done only by calling a keyword with the inner loop, in the outer one.
In your particular case though, you could go without it - as you want to match the full line, that's doable through Should Contain:
If you were going after a partial match - i.e.
${text}
to be a part of a${lines}
member, then it wouldn't be possible like this.