Robot Framework 是一個基於python的自動測試框架,藉由語意化的 keyword 讓非工程人員也可以輕鬆兜出自己需要的 test case 。
基本上 Robot framework 的程式碼分為四部分:
- Settings: 設置整個 Test Suite 的相關資訊及使用的 library 等等,也可以用 resource 來引入自己寫的 robot 檔案,單行註解以 # 開頭
*** Settings *** Documentation A hello world test suite for Shiyanlou ... Just output some message on console Library String #Resource keyword.robot
- Variable:此區域中可以定義變量,如果在 Keywords 或是 Test Cases 區域中就得用
Set Variable
關鍵字,可定義一般數字、字串或 Dictionary (字典)。特别要注意的是 Robot Framework 變量不分大小寫及底線,${showMessage}
、${show_message}
、${Show_Message}
都代表相同的变量。
*** Variables *** ${ACTION} hi @{MESSAGES} world shiyanlou
- Keywords:關鍵字設計為 Robot Framework 的核心,可在關鍵字中帶入其他關鍵字堆疊出複雜的效果,類似函數的概念,
[Arguments]
可帶入變量,而[Return]
可將變量回傳。
*** Keywords *** Print Welcome Message [Arguments] ${act} ${message} Log To Console ${act} ${message}!! [Return] Success
- Test Cases:測試案例一般依照 User Story 撰寫,一如驗收系統功能的精神在於不明白系統的介面及實作細節前提下,用戶一樣知道系統該做什麼,該得到什麼回饋。因此把系統功能步驟以自然語言的描述方式留在 test case 層級,實作細節留在 Keywords 或 Library ,並把常用的實作細節抽出來重複引用。注意 Test Case 是循序由上執行到下,所以 Test Case 之間的狀態跟資料會影響測試結果。下方的例子利用迴圈訪問
@{MESSAGES}
並將變量傳到Print Welcome Message
,最后將結果輸出到 Console。Test Case 名稱允許非ascii字元,甚至支援中文!
*** Test Cases *** 應該看到歡迎訊息 :FOR ${message} IN @{MESSAGES} \ ${result} = Print Welcome Message ${action} ${message} \ Log To Console Result: ${result}
[工商時間] 基本的架構講解到此,我在實驗樓開了課程,大家可以在這個教學平台藉由VM動手實戰,歡迎大家加入 Robot Framework自动化测试基础实战课程
Facebook Comments