0

我有一个机器人测试用例,如下所示:

*** Test Cases ***
Login Test
    ${jsonfile}    OperatingSystem.Get File   ${EXECDIR}/test/testData/LoginTestData.json
    ${source data}=    Evaluate     json.loads("""${jsonfile}""")    json
    ${all data members}=    Set Variable     ${source data['testcase']}
    FOR    ${member}    IN    @{all data members}
        Keyword 1   ${member} 
        Keyword 2   ${member} 
        .........
        Keyword n   ${member} 
   END

对于任何测试数据,如果任何关键字(例如“关键字 2”)失败,我想停止执行其他关键字(例如关键字 3 到关键字 n)。但是对于其他测试数据,循环应该继续。我怎么能做这个?

4

2 回答 2

1

在里面运行每个关键字Run Keyword And Return Status,如果它被False调用Continue For Loop If以开始新的迭代:

        ${passed}=    Run Keyword And Return Status  Keyword 1   ${member}
        Continue For Loop If    not ${passed} 
        ${passed}=    Run Keyword And Return Status  Keyword 2   ${member}
        Continue For Loop If    not ${passed}
于 2020-03-20T07:02:33.187 回答
0

您可以使用Run Keyword ...家庭。例如Run Keyword And Continue On Failure,或Run Keyword And Ignore Error。我经常在这些情况下使用Run Keyword And Return Status

于 2020-03-19T15:16:21.550 回答