一尘不染

RobotFramework中的嵌套循环

selenium

我需要在Robot框架中创建一个嵌套循环。你能帮我吗?

${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'

我需要一个嵌套循环,将所有循环${text}@{lines}文件中的所有循环进行比较。

提前致谢


阅读 985

收藏
2020-06-26

共1个答案

一尘不染

RF中没有嵌套循环;这只能通过在外部的内部循环调用一个关键字来完成。

不过,在您的特定情况下,可以不使用它-因为您想匹配整行,所以可以通过“应包含”来实现:

${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'

如果您要进行部分比赛-即${text}成为${lines}会员的一部分,那么就不可能这样。

2020-06-26