在 Robot Framework 的循环中包含一个循环
Include a loop in a loop in Robot Framework
我在 RF 的另一个现有循环中使用循环时遇到问题
这只是我需要的一个例子:我有一个人员列表 (@{people}),每个人都有一个项目列表。
我执行以下操作:
:FOR | ${person} | IN @{people}
\ | @{items}= | Create List | xpath=//div[@class='item']
\ | :FOR ${item} | IN @{items}
\ | \ | ...
问题在第二个:因为我得到了一个错误 'keyword :FOR is not found'。我做错了什么吗?或者有没有其他方法可以在另一个循环中包含一个循环?
According to User Guide,不直接支持嵌套的 for 循环,但可以在 for 循环内使用 user 关键字并在那里有另一个 for 循环
*** Keywords ***
Loop over people
:FOR ${person} IN @{people}
\ @{items}= Create List xpath=//div[@class='item']
\ Loop over items @{items}
Loop over items
[Arguments] @{items}
:FOR ${item} IN @{items}
\ ...
这个问题也和你的一样
这里也分享同样的答案。
嵌套 for 循环
直接不支持嵌套 for 循环,但可以在 for 循环内使用 user 关键字并在那里有另一个 for 循环。
*** Keywords ***
Handle Table
[Arguments] @{table}
:FOR ${row} IN @{table}
\ Handle Row @{row}
Handle Row
[Arguments] @{row}
:FOR ${cell} IN @{row}
\ Handle Cell ${cell}
引用自:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#nested-for-loops
可以使用这样的自定义关键字:。
请注意,这不支持 While 循环、不是 "IN RANGE" 的 For 循环或 Robot Framework 样式的变量构造(因此出现问题),但我一直在测试时使用它来避免为内部 for 循环使用第二个关键字。干净多了。
我在 RF 的另一个现有循环中使用循环时遇到问题 这只是我需要的一个例子:我有一个人员列表 (@{people}),每个人都有一个项目列表。
我执行以下操作:
:FOR | ${person} | IN @{people}
\ | @{items}= | Create List | xpath=//div[@class='item']
\ | :FOR ${item} | IN @{items}
\ | \ | ...
问题在第二个:因为我得到了一个错误 'keyword :FOR is not found'。我做错了什么吗?或者有没有其他方法可以在另一个循环中包含一个循环?
According to User Guide,不直接支持嵌套的 for 循环,但可以在 for 循环内使用 user 关键字并在那里有另一个 for 循环
*** Keywords ***
Loop over people
:FOR ${person} IN @{people}
\ @{items}= Create List xpath=//div[@class='item']
\ Loop over items @{items}
Loop over items
[Arguments] @{items}
:FOR ${item} IN @{items}
\ ...
这个问题也和你的一样
这里也分享同样的答案。
嵌套 for 循环
直接不支持嵌套 for 循环,但可以在 for 循环内使用 user 关键字并在那里有另一个 for 循环。
*** Keywords ***
Handle Table
[Arguments] @{table}
:FOR ${row} IN @{table}
\ Handle Row @{row}
Handle Row
[Arguments] @{row}
:FOR ${cell} IN @{row}
\ Handle Cell ${cell}
引用自:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#nested-for-loops
可以使用这样的自定义关键字:
请注意,这不支持 While 循环、不是 "IN RANGE" 的 For 循环或 Robot Framework 样式的变量构造(因此出现问题),但我一直在测试时使用它来避免为内部 for 循环使用第二个关键字。干净多了。