我在RF中的另一个现有循环中使用循环时出现问题 这只是我需要的一个例子:我有一个人员列表(@ {people}),每个人都有一个项目列表。
我执行以下操作:
:FOR | ${person} | IN @{people}
\ | @{items}= | Create List | xpath=//div[@class='item']
\ | :FOR ${item} | IN @{items}
\ | \ | ...
问题出现在第二个问题上:因为我收到错误'关键字:未找到FOR'。我做错了吗?或者有没有其他方法在另一个循环中包含一个循环?
答案 0 :(得分:6)
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}
\ ...
答案 1 :(得分:0)
这个问题也与你的Nested loop in RobotFramework
相同也可以在这里分享相同的答案。
嵌套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
答案 2 :(得分:0)
可以使用以下自定义关键字:How can I implement Robot Framework-style variables in this nestable For Loop?。
请注意,这不支持While循环,For循环不是" IN RANGE"或者Robot Framework风格的变量构造(因此问题),但是我一直都在使用它测试以避免为内部for循环使用第二个关键字。它更清洁了。