1. 程式人生 > >RobotFramework 用例出錯後繼續操作

RobotFramework 用例出錯後繼續操作

.html art continue critical 們的 frame 例如 需要 lpad

  • 出錯後退出

在默認情況下,當一個測試用例中的某個關鍵字返回錯誤時,這個測試用例就停止執行剩余的關鍵字。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

這些關鍵字有些像Java中的Finally語句,但是略有區別,大家可以在使用的時候細細體會。另外要說的是,這些關鍵字只能被用到Suit Teardown部分(一般會寫到一個用戶自定義關鍵字中,被Suit Teardown調用)。他們的含義通過字面我們已經能夠理解,格式也跟上邊的兩個關鍵字格式一致,就不一一展開介紹了。

  1. 每個用例只做一件事情是一個好習慣。
  2. 慎用Test setup和test teardown,善用Suit setup 和 Suit teardown
原文:http://www.cnblogs.com/baihuitestsoftware/articles/6023376.html

RobotFramework 用例出錯後繼續操作