1.1 介紹
Robot Framework是一個基于Python的,可擴(kuò)展的關(guān)鍵字驅(qū)動的測試自動化框架。它是為了端到端的驗(yàn)收測試(End-To-End Acceptance Test)以及驗(yàn)收測試驅(qū)動開發(fā)(Acceptance-Test-Driven Development, ATDD)而設(shè)計(jì)的。
因此它可以應(yīng)用于測試,當(dāng)驗(yàn)證需要涉及多個不同技術(shù)和接口的分布式、異構(gòu)的應(yīng)用程序。
1.1.1 為什么選擇Robot Framework?
- 提供了一種統(tǒng)一的,易于使用的表格化語法來創(chuàng)建測試用例;
- 提供了一種可以從已存在的關(guān)鍵字中創(chuàng)建可重復(fù)使用的高階關(guān)鍵字的能力;
- 提供了可讀性強(qiáng)的HTML格式的測試報(bào)告和測試日志;
- 平臺和應(yīng)用無關(guān)性;
- 提供了一個簡單的庫API:用于創(chuàng)建用戶自己的測試庫,測試庫可以使用原生的Python或者Java實(shí)現(xiàn);
- 提供了命令行接口以及基于XML的結(jié)果輸出文件,方便與已存在的構(gòu)建設(shè)施集成(持續(xù)集成系統(tǒng));
- 支持Selenium的Web測試,Java GUI測試,running processes,Telnet, SSH等等;
- 支持創(chuàng)建數(shù)據(jù)驅(qū)動的測試用例;
- 內(nèi)置變量功能,適用于測試不同的環(huán)境;
- 提供了標(biāo)簽功能,用于分類和選擇測試用例執(zhí)行;
- 易于與源碼控制集成:測試套件都只是文件和目錄可以與生產(chǎn)代碼進(jìn)行版本控制;
- 提供了測試用例和測試套件級別的Setup和Teardown;
- 模塊化結(jié)構(gòu)支持為具有幾個不同接口的應(yīng)用程序創(chuàng)建測試。
1.1.2 頂層架構(gòu)
Robot Framework 是一款通用的,應(yīng)用和技術(shù)獨(dú)立的框架。它具有高度模塊化的結(jié)構(gòu),如下圖所示:

Robot Framework Architecture
測試數(shù)據(jù)(Test Data)是以簡單的,易于編輯的表格格式。當(dāng)Robot Framework啟動時,它會處理測試數(shù)據(jù),執(zhí)行測試用例然后生成測試日志和報(bào)告。
核心框架不需要關(guān)心測試用例的目的,以及用例與測試庫的交互處理過程。測試庫可以直接使用應(yīng)用程序接口或者使用更底層的工具來作為驅(qū)動程序。
1.1.3 截圖
以下截圖樣例展示了測試數(shù)據(jù),測試報(bào)告以及日志的呈現(xiàn)形式。

Test Case files

Reports and Logs
1.1.4 獲取更多信息
項(xiàng)目主頁
了解更多關(guān)于Robot Framework框架和它的生態(tài)系統(tǒng)的首要選擇是官方網(wǎng)站: http://robotframework.org。Robot Framework框架本身托管在 GitHub 上。
郵件列表
這里有一些可以詢問和查詢Robot Framework相關(guān)信息的郵件列表。郵件列表歸檔時開放給所有人的(包括搜索引擎),每個人都可以免費(fèi)的加入進(jìn)來。
只有郵件列表成員才能發(fā)送郵件,不過為了防止垃圾郵件,新成員在發(fā)送第一封郵件時,需要花費(fèi)一點(diǎn)時間來學(xué)習(xí)郵件發(fā)送的格式。
不要害怕用郵件來提問題,但是請牢記如何聰明的提問題。
robotframework-users
一般討論所有和Robot Framework相關(guān)的問題。問題和疑問可以發(fā)送給這個郵件列表。同時這個郵件列表也是所有成員信息共享的平臺。
robotframework-announce
公告郵件列表,只有管理員才可以發(fā)送消息。所有的信息也會同時發(fā)送給robotframework-users郵件列表的成員,所以無需同時加入這兩個郵件列表。
robotframework-devel
討論Robot Framework開發(fā)相關(guān)的話題。