下面通過官網和網上資料來簡單介紹下Robotframework及其工作原理。
官方說明:
Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It has easy-to-use tabular test data syntax and it utilizes the keyword-driven testing approach. Its testing capabilities can be extended by test libraries implemented either with Python or Java, and users can create new higher-level keywords from existing ones using the same syntax that is used for creating test cases.
翻譯如下:
Robot Framework是用於驗收測試和驗收測試驅動開發(ATDD)的通用測試自動化框架。 它具有易於使用的表格測試數據語法,並使用關鍵字驅動的測試方法。 它的測試功能可以通過使用Python或Java實現的測試庫進行擴展,用戶可以使用與創建測試用例相同的語法,從現有的關鍵字創建新的更高級別的關鍵字。
我的理解如下:
Robot Framework是一個完全基於關鍵字測試驅動的框架,它即能夠基於它的一定規則,導入你需要的測試庫(例如:其集成了selenium的測試庫,即可以理解為操作web控件的測試底層庫),然后基於這些測試庫,你能應用HTML、TXT等文檔形式編寫自己的關鍵字(這些關鍵字即你的庫組成),之后,再編寫測試用例(測試用例由測試關鍵字組成)進行測試。例如:一個簡單的登陸測試由:登陸+輸入密碼+登出三個關鍵字組成,也可以由一個關鍵字登陸組成,關鍵字顆粒的大小可以自行定制。
主要包括:
內置標准庫,如BuiltIn
外部(第三方)擴展庫,如Selenium2Library
關鍵字,主要包括總是可用的內置關鍵字,來自導入測試庫的庫關鍵字和用戶在創建測試用例時使用表格語法創建的用戶關鍵字
創建測試,主要包括測試項目、套件、用例
運行測試
生成測試報告,會生成三個文件:Output.xml、Log.html、Reprot.html,其中Log.html主要用於展示測試腳本的執行過程,report.html為測試報告,展示測試用例的運行情況及結果。
工作原理:
Robot Framework的基本運行流程如下:
1、Robot開始測試是從cmd輸入命令,初始運行程序接收命令字符(主要是用txt或html寫的測試用例集)
2、接收之后,robot先生成初始化全局變量配置,主要是定義一系列的字段名稱和文件名稱(例如:日志文件名稱等)(由settings.py中的類完成)
3、然后,開始解析用例文件,生成數據對象,數據對象中包含了測試集的各種數據,例如:測試用例集名稱、各個測試用例名稱、各個關鍵字名稱等
4、再將測試數據對象傳送給測試集合類處理,生成測試集suite對象
5、緊接着運行suite中的用例測試,然后調用關鍵字,找到關鍵字對應的庫文件,進行操作
6、將每一個操作和結果都寫在輸出的xml文件中(有專門調用對輸出xml進行操作的類)
7、最后待測試完成后,調用轉換類將xml文件轉換成相應的HTML日志報告,測試完成。
從Robot Framework的工作原理上,我們可以很好的學習到關鍵字測試驅動思想和數據測試驅動思想的應用。