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
Advertisement
Answer
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:
${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} ${present}= Run Keyword And Return Status Should Contain ${lines} ${text} Run Keyword If ${present} Log '${text} matched'
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.