如何在 ride 1.7.4.2 中退出 Robot Framework 4.0 中的嵌套 for 循环
How to exit a nested for loop in Robot Framework 4.0 in ride 1.7.4.2
我想在 ${port} == 3 时退出所有嵌套的 for 循环,但是无论我使用什么关键字,例如
'Exit for loop' 或 'Exit for loop if ${port} == 3' ,它仍然会继续整个嵌套的 for 循环。同时 Robot Framework ride 告诉我 'break' 是保留关键字,不能使用。
我的代码如下。
*** Test Cases ***
demo_01
${port} Set Variable 0
FOR ${i} IN RANGE 2
FOR ${j} IN RANGE 2
FOR ${k} IN RANGE 2
${port} Evaluate ${port} + 1
Log ${port}
IF ${port} == 3
Exit FOR Loop
END
END
END
END
结果在这里
enter image description here
它刚刚退出内部 for 循环。 :(
所以我想知道如何退出 Robot Framework Ride 中的嵌套 for 循环。谢谢你们。
顺便说一句,下面是我的 pip 列表
robotframework 4.1.2
robotframework-databaselibrary 1.2.4
robotframework-pythonlibcore 3.0.0
robotframework-ride 1.7.4.2
robotframework-selenium2library 3.0.0
robotframework-seleniumlibrary 3.0.0
robotframework-sshlibrary 3.8.0
我的 python 版本是
C:\WINDOWS\system32>python -V
Python 3.7.9
谢谢
实现此目的的最简单方法是将封闭的 FOR 循环移动到关键字中,然后 return 在满足条件时从中移出。在您的情况下,它将如下所示:
*** Keywords ***
Log ports
[Return] Return when port 3 is reached
${port} Set Variable 0
FOR ${i} IN RANGE 2
FOR ${j} IN RANGE 2
FOR ${k} IN RANGE 2
${port} Evaluate ${port} + 1
Log ${port}
IF ${port} == 3
Return From Keyword
END
END
END
END
然后在测试中调用上面的关键字即可:
*** Test Cases ***
demo_01
Log ports
我想在 ${port} == 3 时退出所有嵌套的 for 循环,但是无论我使用什么关键字,例如 'Exit for loop' 或 'Exit for loop if ${port} == 3' ,它仍然会继续整个嵌套的 for 循环。同时 Robot Framework ride 告诉我 'break' 是保留关键字,不能使用。 我的代码如下。
*** Test Cases ***
demo_01
${port} Set Variable 0
FOR ${i} IN RANGE 2
FOR ${j} IN RANGE 2
FOR ${k} IN RANGE 2
${port} Evaluate ${port} + 1
Log ${port}
IF ${port} == 3
Exit FOR Loop
END
END
END
END
结果在这里 enter image description here
它刚刚退出内部 for 循环。 :(
所以我想知道如何退出 Robot Framework Ride 中的嵌套 for 循环。谢谢你们。 顺便说一句,下面是我的 pip 列表
robotframework 4.1.2
robotframework-databaselibrary 1.2.4
robotframework-pythonlibcore 3.0.0
robotframework-ride 1.7.4.2
robotframework-selenium2library 3.0.0
robotframework-seleniumlibrary 3.0.0
robotframework-sshlibrary 3.8.0
我的 python 版本是
C:\WINDOWS\system32>python -V
Python 3.7.9
谢谢
实现此目的的最简单方法是将封闭的 FOR 循环移动到关键字中,然后 return 在满足条件时从中移出。在您的情况下,它将如下所示:
*** Keywords ***
Log ports
[Return] Return when port 3 is reached
${port} Set Variable 0
FOR ${i} IN RANGE 2
FOR ${j} IN RANGE 2
FOR ${k} IN RANGE 2
${port} Evaluate ${port} + 1
Log ${port}
IF ${port} == 3
Return From Keyword
END
END
END
END
然后在测试中调用上面的关键字即可:
*** Test Cases ***
demo_01
Log ports