2016-01-25 74 views
0

我在使用RF中另一個現有循環中的循環時遇到了問題 這僅僅是我需要的一個示例:我有一個人員列表(@ {people} ),每個人都有一個項目清單。在Robot Framework中的循環中包含一個循環

我做到以下幾點:

:FOR | ${person} | IN @{people} 
\ | @{items}= | Create List | xpath=//div[@class='item'] 
\ | :FOR ${item} | IN @{items} 
\ | \ | ... 

的問題是在第二,因爲我得到了一個錯誤「關鍵字:未找到」。我做錯了什麼?或者有沒有其他方法可以在另一個循環中包含循環?

+0

可能重複的[RobotFramework中的嵌套循環](https://stackoverflow.com/questions/43544297/nested-loop-in-robotframework) –

回答

1

According to User Guide,其嵌套的for循環不直接支持,但也可以使用用戶的關鍵字裏面一個for循環,並有另一個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

這是可能的,像這樣的自定義關鍵字:How can I implement Robot Framework-style variables in this nestable For Loop?

*** Keywords *** 
Handle Table 
    [Arguments] @{table} 
    :FOR ${row} IN @{table} 
    \ Handle Row @{row} 

Handle Row 
    [Arguments] @{row} 
    :FOR ${cell} IN @{row} 
    \ Handle Cell ${cell} 

從引用。

請注意,這不支持While循環,For循環不是「IN RANGE」或Robot Framework樣式的變量構造(因此是問題),但我始終都在使用它來進行測試以避免內部for循環的第二個關鍵字。這是一個更清潔。