如何在Robot Framework中编写循环

时间:2016-03-31 08:54:21

标签: automated-tests robotframework

我制作了第一个简单的测试用例,我遇到了一个问题。

是否可以在Robot Framework中编写循环?

我想从地址和修改后的变量“i”的地址中检索值。我想执行直到存在这样的地址,因为它是表中的一行。

${f1}       A
${f_temp}   B

While   ${f1} != ${f_temp}
or
While element xpath=//${i} is visible


\  ${F_temp}                Get Text     xpath=//${i}
\  ${i}                     ${i}+1
\  Run Keyword And Continue On Failure   Should be equal  ${f_temp}  ${f1}

有什么想法吗?

3 个答案:

答案 0 :(得分:16)

Robot Framework没有while循环。如果"你必须使用FOR循环和"退出循环。要退出的关键字。它将在有限的时间内运行,但如果你在范围内选择一个足够大的数字,它就足够接近实际目的。

*** Test Cases ***
For Test
    :FOR    ${i}    IN RANGE    999999
    \    Exit For Loop If    ${i} == 9
    \    Log    ${i}
    Log    Exited

答案 1 :(得分:2)

您可能正在寻找Wait Until Keyword Succeeds关键字,这使您可以对while循环执行类似的构造。它比条件退出的FOR周期更具可读性。

然后使用自定义关键字,当您需要结束“循环”时,该关键字会失败。

答案 2 :(得分:0)

如上述答案所述,Robot不支持本机WHILE循环。 但是,如果您坚持不懈,这可能会有所帮助。 https://github.com/robotframework/robotframework/issues/3235