1.1簡介
Robot Framework是一個基於Python的,可擴展的關鍵字驅動的測試自動化框架,用於端到端驗收測試和驗收測試驅動開發(ATDD)。它可用於測試分布式異構應用程序,其中驗證需要涉及多種技術和接口。
1.1.1為何選擇Robot Framework?
- 啟用易於使用的表格語法,以統一的方式創建測試用例。
- 提供從現有關鍵字創建可重復使用的更高級別關鍵字的功能。
- 提供易於閱讀的結果報告和HTML格式的日志。
- 平台和應用程序是獨立的。
- 提供一個簡單的庫API,用於創建自定義測試庫,可以使用Python或Java本機實現。
- 提供命令行界面和基於XML的輸出文件, 以便集成到現有構建基礎架構(持續集成系統)中。
- 為Selenium提供Web測試,Java GUI測試,運行進程,Telnet,SSH等支持。
- 支持創建數據驅動的測試用例。
- 內置對變量的支持,特別適用於不同環境下的測試。
- 提供標記以分類和選擇要執行的測試用例。
- 實現與源代碼控制的輕松集成:測試套件只是可以使用生產代碼進行版本控制的文件和目錄。
- 提供測試用例和測試套件級別的設置和拆卸。
- 模塊化架構支持創建測試,即使對於具有多種不同接口的應用程
1.1.2高級架構
Robot Framework是一個通用的,應用程序和技術獨立的框架。它具有高度模塊化的架構,如下圖所示。

Robot Framework架構
該測試數據是簡單,易於編輯表格格式。啟動Robot Framework時,它會處理測試數據,執行測試用例並生成日志和報告。核心框架對測試中的目標一無所知,與它的交互由測試庫處理。庫可以直接使用應用程序接口,也可以使用低級測試工具作為驅動程序。
1.1.3截圖
以下屏幕截圖顯示了測試數據的示例以及創建的 報告和日志。

測試用例文件

報告和日志
1.2版權和許可
Robot Framework本身,隨其分發的測試庫和支持工具,以及本用戶指南和其他提供的文檔具有以下版權聲明。
版權所有2008-2012 Nokia Siemens Networks Oyj 根據Apache許可證2.0版(“許可證”)獲得許可; 除非符合許可,否則您不得使用此文件。 您可以在以下位置獲取許可證副本 http://www.apache.org/licenses/LICENSE-2.0 除非適用法律要求或書面同意,否則軟件 根據許可證分發的“按現狀”分發, 不附帶任何明示或暗示的保證或條件。 有關管理權限的特定語言,請參閱許可證 許可證下的限制。
1.3安裝和卸載
下文說明包括在不同的操作系統上安裝Robot Framework及其前提條件。Robot Framework 2.7中的安裝發生了很大變化。最重要的更改將單獨列出,可以參考以前的用戶指南以獲取有關安裝早期版本的詳細信息。
1.3.1簡介
提示
如果你安裝了pip,只需運行pip install robotframework。
支持的安裝方法
Robot Framework是用Python實現的,也可以在Jython(JVM)和 IronPython(.NET)解釋器上運行。在安裝框架之前,一個明顯的 前提條件是安裝所需的解釋器。
下面列出了安裝Robot Framework的不同方法,並在本章中進行了更全面的解釋。所有安裝包均可從 http://downloads.robotframework.org獲得。
-
從源代碼安裝
您可以通過下載和解壓縮源代碼或直接從版本控制系統檢出源代碼來獲取源代碼。之后,您可以通過運行python setup.py install 命令來安裝框架。這種方法適用於所有操作系統和所有解釋器。
-
使用Windows安裝程序
32位和64位Windows系統都有圖形安裝程序。
-
Python包管理器
Python包管理器(如pip和easy_install)使安裝變得微不足道。
-
使用單擊安裝程序
如果您使用的是Windows XP並且沒有安裝前置條件,則 單擊安裝程序可以負責安裝所有內容。
-
獨立JAR分發
如果使用Jython運行測試就足夠了,最簡單的方法是下載包含Jython和Robot Framework 的獨立robotframework- <version> .jar。
-
手動安裝
如果您有特殊需求而沒有其他工作,您可以隨時進行自定義手動安裝。
不同的入口
啟動腳本
Robot Framework具有不同的入口點,用於執行測試用例和 基於早期測試結果的后期處理輸出。對於這兩種用法,不同的解釋器也有不同的啟動腳本:
解釋器 | 測試執行 | 后期處理 |
---|---|---|
Python | pybot | rebot |
Jython的 | jybot | jyrebot |
IronPython的 | ipybot | ipyrebot |
在類似UNIX的操作系統(如Linux和OSX)上,啟動腳本是使用Python實現的,而在Windows上它們是批處理文件。無論操作系統如何,使用任何這些腳本都需要在PATH中有適當的解釋器。
注意
在Robot Framework 2.7之前,啟動腳本在Windows之外被實現為shell腳本。
直接運行測試和后期處理輸出
除了上面的啟動腳本之外,還可以通過使用選定的解釋器直接執行框架的入口點,來運行測試和后期 處理輸出。可以使用Python的-m選項將它們作為模塊執行,如果您知道框架的安裝位置,則可以將它們作為腳本運行。使用Python解釋器,在下表中列出了入口點,下面的示例說明了將它們與其他解釋器一起使用。
直接入口點
入口點 | 作為模塊運行 | 以腳本運行 |
---|---|---|
測試執行 | python -m robot.run | python path/robot/run.py |
后期處理 | python -m robot.rebot | python path/robot/rebot.py |
#通過Python執行`robot.run`模塊運行測試。
python -m robot.run
#通過Jython運行`robot/run.py`腳本運行測試。
jython path/to/robot/run.py
#通過IronPython執行`robot.rebot`模塊,使用創建報告/日志。
ipy -m robot.rebot
#通過Python運行`robot/rebot.py`腳本用創建報表/日志。
python path/to/robot/rebot.py
注意
Robot Framework 2.7中已棄用舊的robot.runner入口點,而應使用robot.run。
內置工具
從Robot Framework 2.7開始,libdoc,testdoc和tidy工具與核心框架捆綁在一起,並有自己的入口點。它們也可以使用-m選項作為模塊執行,也可以直接作為腳本執行。下表列出了使用Python的入口點,但它們可以與任何支持的解釋器一起使用。
工具 | 作為模塊運行 | 以腳本運行 |
---|---|---|
libdoc | python -m robot.libdoc | python path/robot/libdoc.py |
testdoc | python -m robot.testdoc | python path/robot/testdoc.py |
tidy | python -m robot.tidy | python path/robot/tidy.py |
驗證安裝
成功安裝后,您應該能夠使用--version選項執行創建的啟動腳本,並獲得Robot Framework和解釋器版本。
$ pybot --version
Robot Framework 2.7 ( linux2上的Python 2.6.6 ) $ jybot --version Robot Framework 2.7 ( java1.6.0_21上的Jython 2.5.2 )
與Robot Framework 2.6及更早版本相比的變化
Robot Framework安裝在2.6和2.7版本之間發生了很大變化,下面列出了最重要的更改。如果您需要有關安裝舊版本的更多信息,請參閱以前的用戶指南。
- 終於支持使用pip進行安裝。
- 官方支持使用IronPython進行安裝。因此,您將獲得新的ipybot和ipyrebot 啟動腳本。
- 除了jybot之外,使用Jython進行安裝還會創建新的jyrebot runner腳本。使用Jython不再創建rebot腳本。
- 使用Python從源代碼安裝不再創建jybot腳本。您需要使用Jython安裝框架來創建它。
- 所有啟動腳本都需要PATH中有適當的解釋器才能使用。
- 在Windows之外,啟動腳本是用Python實現的。
- 不推薦使用robot/runner.py 入口點,推薦 robot/run.py,並且程序執行API也已更改。
- 源代碼分發僅包含實際的源代碼和工具。您需要單獨下載“用戶指南”和“快速入門指南”,或在線查看。
1.3.2前提條件
Robot,Python,Jython(JVM)和IronPython(.NET)支持Robot Framework ,也應該在PyPy上運行。應在安裝Robot Framework之前安裝要使用的解釋器。
使用哪種解釋器取決於所需的測試庫和測試環境。一些庫使用僅適用於Python的工具或模塊,而其他庫可能使用需要Jython或需要.NET的Java工具, 因此也使用IronPython。還有許多工具和庫可以與所有解釋器一起運行。
如果您沒有特殊需求或只想嘗試框架,建議使用Python。它是最成熟的實現,比Jython或IronPython快得多(特別是啟動時間更快),並且在大多數類UNIX操作系統上也很容易獲得。
Python安裝
在大多數類UNIX系統(如Linux和OSX)上,默認情況下安裝了Python。如果您使用的是Windows或者需要自己安裝Python,那么最好的起步教程是http://python.org。在那里,您可以下載合適的安裝程序,並獲得有關安裝過程和Python的更多信息。
從Robot Framework 2.5開始,Python 2.5是受支持的最低Python版本。早期版本也支持Python 2.3和2.4。Robot Framework目前與Python 3.x版本不兼容。
注意
使用pybot runner腳本在Python上運行Robot Framework 需要python在命令提示符下可執行。這意味着您需要確保它在PATH中。
注意
在Windows上,特別是在Windows Vista和Windows 7上,建議將Python安裝到所有用戶,並以管理員身份運行安裝。
注意
不應在Windows計算機上設置環境變量PYTHONCASEOK。Robot Framework無法正常使用它。
設置路徑
PATH環境變量列出一個系統中執行的命令的搜索位置。要在命令提示符下更輕松地使用Robot Framework,建議將啟動腳本安裝的位置添加到PATH中。運行器腳本本身要求匹配的解釋器位於PATH中,因此必須在那里添加安裝位置。
在類UNIX機器上使用Python時,Python本身和安裝的腳本都應該自動在PATH中,不需要額外的操作。在Windows和其他解釋器上,必須單獨配置PATH。
要添加的目錄
您需要添加到PATH的目錄取決於解釋器和操作系統。第一個位置是解釋器的安裝目錄(例如c:\Python27),另一個位置是使用該解釋器安裝腳本的位置。Python和IronPython都將腳本安裝到Windows上安裝目錄下的Scripts目錄(例如c:\Python27\Scripts),但Jython使用bin目錄(例如c:\ jython2.5.2\bin)。
注意
在Windows上,強烈建議在安裝Robot Framework 之前至少將Python安裝目錄添加到PATH中 。
注意
腳本和bin目錄可能不會作為解釋程序安裝的一部分創建,在安裝Robot Framework或某些其他第三方模塊時才會創建。
在Windows上設置PATH
在Windows上,您可以按照以下步驟配置PATH。請注意,不同Windows版本上的確切設置名稱可能不同,但基本方法仍應相同。
- 打開
開始>設置>控制面板>系統>高級>環境變量
。有用戶變量
和系統變量
,它們之間的區別在於用戶變量只影響當前用戶,而系統變量影響所有用戶。- 要編輯現有PATH,請在值的末尾選擇
Edit
並添加 ; <InstallationDir>; <ScriptsDir>(例如; c:\ Python27; C:\Python27\Scripts)。請注意,分號(;)在分隔不同條目時很重要。要添加新值,請選擇“新建”
並同時設置名稱和值,這次沒有前導分號。- 單擊
確定
退出對話框以保存更改。- 啟動新的命令提示符以使更改生效。
在類UNIX系統上設置PATH
在類UNIX系統上,您通常需要編輯某個系統范圍或用戶特定的配置文件。要編輯哪個文件以及如何依賴於系統,您需要查閱操作系統文檔以獲取更多詳細信息。
1.3.3安裝Robot Framework
從源代碼安裝
此安裝方法可以在任何支持的解釋器的任何操作系統上使用。從源代碼安裝可能聽起來有點可怕,但該過程實際上非常簡單。
獲取源代碼
通常,您可以通過下載獲得源代碼源代碼分發包 在名為.tar.gz從格式下載頁面。您需要在某處提取包,因此,您將獲得名為robotframework- <version>的目錄 。該目錄包含源代碼,安裝它所需的腳本以及tools目錄下的 一些支持工具。
注意
從Robot Framework 2.7開始,源代碼分發不包含文檔或模板。必須單獨下載或在線查看。
獲取源代碼的另一種方法是直接從項目的版本控制系統中檢出它。默認情況下,您將獲得最新代碼,但您可以輕松切換到不同的已發布版本或其他標簽。
安裝
使用Python的標准setup.py 腳本從源代碼安裝Robot Framework 。該腳本位於包含源的目錄中,您可以使用任何支持的解釋器從命令行運行它:
# Installing with Python. Creates `pybot` and `rebot` scripts. python setup.py install # Installing with Jython. Creates `jybot` and `jyrebot` scripts. jython setup.py install # Installing with IronPython. Creates `ipybot` and `ipyrebot` scripts. ipy setup.py install
注意
從Robot Framework 2.7開始,使用Python進行安裝不再創建jybot runner腳本。要創建它,您需要使用Jython單獨安裝。
不同的安裝腳本
標准的setup.py腳本接受多個參數,例如,允許安裝到不需要管理權限的非默認位置。它還用於創建不同的分發包。運行python setup.py --help以獲取更多詳細信息。
Robot Framework還有一個自定義install.py腳本,它支持安裝和卸載。不帶參數運行它以獲取更多詳細信息
使用Windows安裝程序
32位和64位Windows系統有單獨的圖形安裝程序。前一個安裝程序的名稱格式為 robotframework- <version> .win32.exe,后一個 robotframework- <version> .win-amd64.exe,兩者都可以在 下載頁面上找到。運行安裝程序需要雙擊它並按照簡單的說明操作。
Windows安裝程序始終在Python上運行並創建標准的pybot 和rebot runner腳本。與其他提供的安裝程序不同,這些安裝程序還會自動創建jybot和ipybot 腳本。為了能夠使用創建的runner腳本,包含它們的 Scripts目錄和相應的解釋器都需要在PATH中。
注意
強烈建議在運行Robot Framework安裝程序之前將Python安裝目錄設置為 PATH 。
注意
如果你安裝了Python或其他解釋安裝的多個版本,執行腳本將始終使用PATH第一個。為避免這種情況,您始終可以使用直接入口點和選擇的解釋器,如 c:\Python25\python.exe -m robot.run。
注意
在Windows Vista和Windows 7上安裝Robot Framework通常需要管理員權限。 啟動安裝程序時,從上下文菜單中選擇
以管理員身份運行
。
Python包管理器
Python現在有各種優秀的包管理器可用於安裝和管理Python包。最着名的是 easy_install及其pip。我們強烈推薦pip,因為它更積極地開發並具有很好的功能,例如支持卸載。
不同的包管理器有不同的用法,但是使用pip 和easy_install,基本用法類似:
# Install the latest version pip install robotframework easy_install robotframework # Upgrade to the latest version pip install --upgrade robotframework easy_install --upgrade robotframework # Install a specific version pip install robotframework==2.7.1 easy_install robotframework==2.7.1 # Uninstall -- only supported by pip pip uninstall robotframework
提示
如果需要使用代理來訪問Internet,則可以使用pip和 easy_install來使用 http_proxy環境變量。除此之外,pip還支持--proxy命令行選項。
注意
pip和easy_install都有一個“功能”,除非給定特定版本,他們可能安裝最新版本,即使是α或β版本。例如,如果2.7.2是最新的穩定版本並且還有2.8 beta版本可用,則運行pip install robotframework將安裝后者。解決方法是在pip install robotframework == 2.7.2中明確提供版本 。
注意
只有Robot Framework 2.7和2.7以上的版本支持pip。
使用單擊安裝程序
One Click Installer可以安裝Robot Framework及其前提條件 Python和Jython(可選)。它還會自動將Robot Framework運行程序 腳本以及Python和Jython可執行文件放入PATH。
單擊安裝程序要求您已單獨下載所有必需的組件安裝程序,並將它們與它們放在同一目錄中。有關支持的安裝程序的更多詳細說明和詳細信息,請訪問One Click Installer Wiki頁面。
注意
One Click Installer僅適用於Windows XP(32位)。
獨立JAR分發
Robot Framework也作為獨立的Java歸檔文件分發,它包含Jython和Robot Framework,只需要Java 5或更新版本作為依賴項。這是一種簡單的方法,可以將所有內容放在一個不需要安裝的軟件包中,但是它有一個缺點,它不適用於Python。
該軟件包名為robotframework- <version> .jar,可在下載頁面上獲得,也可以作為Maven依賴項使用。下載軟件包后,您可以使用它執行測試:
java -jar robotframework-2.7.jar mytests.txt java -jar robotframework-2.7.jar --variable name:value mytests.txt
如果要進行后處理輸出或使用內置工具,則需要將命令名稱(例如rebot或libdoc)作為JAR文件的第一個參數:
java -jar robotframework-2.7.jar rebot output.xml java -jar robotframework-2.7.jar libdoc MyLibrary list
有關不同命令的更多信息,請執行不帶參數的JAR文件。
安裝文件的位置
使用自動安裝程序時,Robot Framework代碼將復制到包含外部Python模塊的目錄中。在預安裝Python的類UNIX操作系統上,此目錄的位置會有所不同。如果您自己安裝了解釋器,則通常 是解釋器安裝目錄下的Lib/site-packages,例如c:\Python27\Lib\site-packages。使用easy_install時,實際的Robot Framework代碼位於名為robot的目錄中,或者 在目錄robotframework-<version>.py <version> .egg/robot中。
創建Robot Framework啟動腳本並將其復制到另一個特定於平台的位置。在類UNIX系統上使用Python時,它們通常會轉到/usr/ bin。在Windows和其他解釋器上,腳本通常位於解釋器安裝目錄下的Scritps或bin目錄中。
1.3.4卸載和升級
卸載
如何卸載Robot Framework取決於原始安裝方法。請注意,如果您已設置PATH或已配置環境,則需要單獨撤消這些更改。
使用源分發
源代碼分發包含一個自定義install.py腳本,該腳本也支持卸載:
python install.py uninstall
使用Windows安裝程序后卸載
如果 已使用Windows安裝程序,則可以使用“ 控制面板”>“添加/刪除程序”
完成卸載。Robot Framework列在Python應用程序中。
用pip
正如所討論的前面,PIP包管理器還支持卸載:
pip uninstall robotframework
pip的一個特別好的功能是,即使使用其他方法完成安裝,它也可以卸載軟件包。
手動卸載
始終可以手動卸載框架。這需要從安裝它們的位置 刪除 機器人模塊以及創建的運行程序腳本。
升級
升級或降級Robot Framework時,在兩個次要版本(例如2.7到2.7.1)之間切換時,可以安全地在現有版本上安裝新版本。這通常也適用於升級到新的主要版本(例如從2.6.3到2.7),但卸載舊版本總是更安全。
pip包管理器的一個非常好的功能是它在升級時自動卸載舊版本。更改為特定版本或升級到最新版本時都會發生這種情況:
pip install robotframework==2.7.1
pip install --upgrade robotframework
源代碼分發中包含的自定義install.py腳本 還支持重新安裝,以便首先自動刪除舊安裝:
python install.py reinstall
無論版本和安裝方法如何,您都不需要重新安裝前置條件或再次設置PATH環境變量。
1.4示例
Robot Framework快速入門指南也可作為獨立演示。它是源代碼分發的一部分(在doc/quickstart/目錄下),也可以從項目網頁單獨下載。
此外,外部SeleniumLibrary和SwingLibrary都可以輕松執行可執行的演示。前者包含一個簡單的獨立HTTP服務器和一個用作被測系統的應用程序,后者有一個小型Swing應用程序。還提供了用於在不同系統上運行演示的實際測試用例文件和腳本