RobotFramework 用例出錯后繼續(xù)操作

出錯后退出

????在默認情況下,當一個測試用例中的某個關(guān)鍵字返回錯誤時,這個測試用例就停止執(zhí)行剩余的關(guān)鍵字。RF會繼續(xù)執(zhí)行下一個用例。這么做的好處是節(jié)省時間--反正這里出問題要返回來看了,再繼續(xù)執(zhí)行剩下的關(guān)鍵字也沒有用了。

出錯后繼續(xù)執(zhí)行

但是,有時候,我們卻需要執(zhí)行用例中的所有關(guān)鍵字,例如:要獲取更多的出錯信息、更改某些全局相關(guān)的變量、做teardown或者rollback操作等。這時候,我們就可以使用BuiltIn庫中的關(guān)鍵字來讓特定關(guān)鍵字出錯后RF仍然執(zhí)行用例中剩余關(guān)鍵字。

第一個關(guān)鍵字是:Run Keyword And Continue On Failure

假設(shè)我們有個關(guān)鍵字叫做 Mykeyword

我們這樣使用:

?Run Keyword And Continue On Failure?Mykeyword

?Log?這一句被執(zhí)行

這樣,不管Mykeyword這個關(guān)鍵字是否fail,下一個關(guān)鍵字Log都會被執(zhí)行。

如果Mykeyword有返回值,我們可以這么使用:


?${str}?Run Keyword And Continue On Failure?Mykeyword

?Log?${str}?


獲取關(guān)鍵字執(zhí)行結(jié)果后繼續(xù)執(zhí)行

????有時候,我們需要獲取某個關(guān)鍵字的執(zhí)行結(jié)果,然后根據(jù)結(jié)果做不同后續(xù)操作,這個時候,我們就會用到關(guān)鍵字Run Keyword And Ignore Error 。假設(shè)我們要執(zhí)行一個關(guān)鍵字Mykeyword,關(guān)鍵字有一個返回值。我們可以如下使用:


?${result}?${returnvalue}?Run Keyword And Ignore ErrorMykeyword?

?Log?${result}+${returnvalue}??

Run Keyword And Ignore Error 有2個返回值${result}獲取執(zhí)行結(jié)果,值為PASS或者FAIL;${returnvalue}獲取Mykeyword的返回值。

TestSuit級別出錯處理

有些場合,我們想要在整個testsuit執(zhí)行結(jié)束后根據(jù)執(zhí)行結(jié)果做一些特殊操作。這時候,我們就用上了下面幾個個關(guān)鍵字:

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


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

每個用例只做一件事情是一個好習慣。

慎用Test setup和test teardown,善用Suit setup 和 Suit teardown

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是一篇描述怎么用 Robot Framework 來編寫優(yōu)秀測試用例的高級指南。 至于如何使用 Robot Fr...
    CC先生之簡書閱讀 5,474評論 0 13
  • 一、關(guān)鍵字(Keyword)根據(jù)架構(gòu)的區(qū)分可分為以下三層結(jié)構(gòu): 底層關(guān)鍵字、公共層關(guān)鍵字、特性關(guān)鍵字。 底層關(guān)鍵字...
    guitar_當當當閱讀 577評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,688評論 19 139
  • 今天居然沒有早餐!自己草草煮了碗面條吃了。后來才了解到是因為沒有面粉了保姆才不做早餐的。。。。。。菜也沒了,面粉也...
    柳夜刀閱讀 385評論 0 0
  • 北島 在我和世界之間 你是海灣,是帆 是纜繩忠實的兩端 你是噴泉,是風 是童年清脆的呼喊 在我和世界之間 你是畫框...
    小王子的狐貍先森閱讀 201評論 0 0

友情鏈接更多精彩內(nèi)容