[英]Robot Framework: How to build teardown dynamically
我正在嘗試在我的測試用例中動態構建拆卸操作。 例如,對於測試用例中的每個步驟,我都有相應的拆卸步驟。 因此,取決於測試用例在哪一點失敗,我試圖在拆解中只運行那些許多干凈的操作。
我期待像下面這樣的工作(不幸的是Run Keywords
需要在AND
中特別提到)
*** Settings ***
Library Collections
*** Test Cases ***
Sample Test1
${Cleanup KWS}= Create List Log Cleanup Step1
Log Test Step1
${Cleanup KW}= Create List Log Cleanup Step2 AND
${Cleanup KWS}= Combine Lists ${Cleanup KW} ${Cleanup KWS}
Log Test Step2
${Cleanup KW}= Create List Log Cleanup Step3 AND
${Cleanup KWS}= Combine Lists ${Cleanup KW} ${Cleanup KWS}
Log Test Step3
[Teardown] Run Keywords @{Cleanup KWS}
如果上述情況可行,則測試用例執行可能會更有效(如果測試在兩者之間失敗)和/或我可以避免在拆卸階段出現不必要的失敗。
有沒有其他優雅的方式來支持上述期望的行為?
您可以通過在Keywords
部分定義每個拆卸步驟來做到這一點:
*** Keywords ***
Teardown_Step_1
log to console Teardown for step 1
Teardown_Step_2
log to console Teardown for step 2
Teardown_Step_3
log to console Teardown for step 3
Execute teardown steps
[Documentation] Execute a list of keywords
[Arguments] @{keywords}
[Return] @{result}
@{result}= create list
FOR ${keyword} IN @{keywords}
${keyword result}= Run keyword ${keyword}
Append to list ${result} ${keyword result}
END
然后在測試中你可以像這樣使用上面的關鍵字:
Sample Test1
@{teardown_list} = create list
Log Test Step1
append to list ${teardown_list} Teardown_Step_1
Log Test Step2
append to list ${teardown_list} Teardown_Step_2
Log Test Step3
append to list ${teardown_list} Teardown_Step_3
[Teardown] Execute teardown steps @{teardown_list}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.