1、Robot Framework簡(jiǎn)介
Robot Framework是一個(gè)基于Python的可擴(kuò)展關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化框架,用于驗(yàn)收測(cè)試,驗(yàn)收測(cè)試驅(qū)動(dòng)開發(fā)(ATDD),行為驅(qū)動(dòng)開發(fā)(BDD)和機(jī)器人流程自動(dòng)化(RPA)。它可以用于分布式異構(gòu)環(huán)境,其中自動(dòng)化需要使用不同的技術(shù)和接口。由Robot Framework基金會(huì)支持。許多行業(yè)領(lǐng)先的公司在其軟件開發(fā)中使用該工具。
Robot Framework是開放和可擴(kuò)展的??梢耘c幾乎任何其他工具集成,以創(chuàng)建強(qiáng)大而靈活的自動(dòng)化解決方案而著稱。Robot Framework可以免費(fèi)使用,無需許可費(fèi)用。
2、Robot Framework框架的特點(diǎn)
RF支持易于使用的表格語法,以便以統(tǒng)一的方式創(chuàng)建測(cè)試用例。
RF提供從現(xiàn)有關(guān)鍵字創(chuàng)建可重用的高級(jí)關(guān)鍵字的功能。
提供易于閱讀的HTML 格式結(jié)果報(bào)告和日志。
獨(dú)立于平臺(tái)和應(yīng)用程序。
提供用于創(chuàng)建可使用 Python 本機(jī)實(shí)現(xiàn)的自定義測(cè)試庫。
提供命令行界面和基于 XML 的輸出文件,以便集成到現(xiàn)有的生成基礎(chǔ)結(jié)構(gòu)(持續(xù)集成系統(tǒng))中。
支持測(cè)試 Web 應(yīng)用程序、rest API、移動(dòng)應(yīng)用程序、正在運(yùn)行的進(jìn)程、通過 Telnet 或 SSH 連接到遠(yuǎn)程系統(tǒng)等。
支持創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)的測(cè)試用例。
具有對(duì)變量的內(nèi)置支持,特別適用于在不同環(huán)境中進(jìn)行測(cè)試。
提供標(biāo)記以分類和選擇要執(zhí)行的測(cè)試用例。
支持集成:測(cè)試套件只是可與生產(chǎn)代碼一起進(jìn)行版本控制的文件和目錄。
提供測(cè)試用例和測(cè)試套件級(jí)別的設(shè)置和拆卸。
模塊化架構(gòu)支持創(chuàng)建測(cè)試,甚至適用于具有多個(gè)不同接口的應(yīng)用程序。
3、Robot Framework框架的體系結(jié)構(gòu)
Robot Framework是一個(gè)通用的,獨(dú)立于應(yīng)用程序和技術(shù)的框架。它具有高度模塊化的體系結(jié)構(gòu),如下圖所示。
測(cè)試數(shù)據(jù)采用簡(jiǎn)單、易于編輯的表格格式。當(dāng)Robot Framework啟動(dòng)時(shí),它會(huì)處理數(shù)據(jù),執(zhí)行測(cè)試用例并生成日志和報(bào)告。核心框架對(duì)被測(cè)目標(biāo)一無所知,與它的交互由庫處理。庫可以直接使用應(yīng)用程序接口,也可以使用較低級(jí)別的測(cè)試工具作為驅(qū)動(dòng)程序。
4、Robot Framework應(yīng)用示例
以下截圖顯示了測(cè)試用例和數(shù)據(jù)文件:
結(jié)果和日志文件:
5、Robot Framework安裝
Robot Framework 是用 Python 實(shí)現(xiàn)的,因此需要安裝 Python。在 Windows 計(jì)算機(jī)上,確保在安裝過程中將 Python 添加到 PATH。
使用 pip 安裝Robot Framework很簡(jiǎn)單:
安裝命令運(yùn)行的過程:
安裝完成后,用如下命令進(jìn)行版本檢查:
6、Robot Framework簡(jiǎn)單示例
案例中包含2個(gè)文件:
Test_suite.robot文件
Keywords.resource文件
1)創(chuàng)建一個(gè)robot文件:
2)創(chuàng)建一個(gè)關(guān)鍵字文件:
更多關(guān)于軟件測(cè)試培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢課程顧問,獲取試聽資格來試聽我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門到精通。