Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

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

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.2k views
Welcome To Ask or Share your Answers For Others

1 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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...