- 出錯后退出
在默認情況下,當一個測試用例中的某個關鍵字返回錯誤時,這個測試用例就停止執行剩余的關鍵字。RF會繼續執行下一個用例。這么做的好處是節省時間--反正這里出問題要返回來看了,再繼續執行剩下的關鍵字也沒有用了。
- 出錯后繼續執行
但是,有時候,我們卻需要執行用例中的所有關鍵字,例如:要獲取更多的出錯信息、更改某些全局相關的變量、做teardown或者rollback操作等。這時候,我們就可以使用BuiltIn庫中的關鍵字來讓特定關鍵字出錯后RF仍然執行用例中剩余關鍵字。
第一個關鍵字是:Run Keyword And Continue On Failure
假設我們有個關鍵字叫做 Mykeyword
我們這樣使用:
Run Keyword And Continue On Failure | Mykeyword |
Log | 這一句被執行 |
這樣,不管Mykeyword這個關鍵字是否fail,下一個關鍵字Log都會被執行。
如果Mykeyword有返回值,我們可以這么使用:
${str} | Run Keyword And Continue On Failure | Mykeyword |
Log | ${str} |
- 獲取關鍵字執行結果后繼續執行
有時候,我們需要獲取某個關鍵字的執行結果,然后根據結果做不同后續操作,這個時候,我們就會用到關鍵字Run Keyword And Ignore Error 。假設我們要執行一個關鍵字Mykeyword,關鍵字有一個返回值。我們可以如下使用:
${result} | ${returnvalue} | Run Keyword And Ignore Error | Mykeyword |
Log | ${result}+${returnvalue} |
Run Keyword And Ignore Error 有2個返回值${result}獲取執行結果,值為PASS或者FAIL;${returnvalue}獲取Mykeyword的返回值。
- TestSuit級別出錯處理
有些場合,我們想要在整個testsuit執行結束后根據執行結果做一些特殊操作。這時候,我們就用上了下面幾個個關鍵字:
Run Keyword If All Critical Tests Passed
Run Keyword If All Tests Passed
Run Keyword If Any Critical Tests Failed
Run Keyword If Any Tests Failed
Run Keyword If Test Failed
Run Keyword If Test Passed
Run Keyword If Timeout Occurred