Nested loop in RobotFramework

前端 未结 3 1248
走了就别回头了
走了就别回头了 2020-12-12 07:29

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


        
相关标签:
3条回答
  • 2020-12-12 08:04

    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.

    *** Keywords ***
    Handle Table
        [Arguments]    @{table}
        :FOR    ${row}    IN    @{table}
        \    Handle Row    @{row}
    
    Handle Row
        [Arguments]    @{row}
        :FOR    ${cell}    IN    @{row}
        \    Handle Cell    ${cell}
    

    Referenced from : http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#nested-for-loops

    0 讨论(0)
  • 2020-12-12 08:06

    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.

    0 讨论(0)
  • 2020-12-12 08:22

    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.

    0 讨论(0)
提交回复
热议问题