1.3 安裝說明
本章的說明涵蓋了所有Robot Framework安裝和解除安裝的方法,以及在不同作業系統上安裝的前提條件。如果你本地安裝有
pip
,那麼就很容易安裝Robot Framework。如下:
pip install robotframework
1.3.1 介紹
Robot Framework是用Python實作的,同時支援Jython(JVM)和IronPython(.NET)。在安裝架構之前,前提條件就是安裝其中一種Python解釋器。
下面列出了安裝Robot Framework不同的方式,并在後續的章節中加以詳細的說明。
用pip安裝
用
pip
安裝Robot Framework是官方推薦的方式。在最新的Python, Jython和IronPython版本中已經包含了這種标準的包管理器。
如果你已經安裝了
pip
, 你可以簡單的執行以下這句指令:
pip install robotframework
用源碼安裝
這種方式獨立于作業系統和Python解釋器。你可以從PyPI網站上下載下傳源碼釋出包進行解[壓亦或是從
Github上克隆Robot Framework倉庫。
獨立的JAR釋出包
如果你用Jython執行測試就足夠的話,最簡單的方式就是從
Maven中央倉庫上下載下傳獨立的JAR包
robotframework-[version].jar
JAR釋出包同時包含了Jython和Robot Framework,是以僅僅需要安裝
Java就可以了。
手動安裝
如果你有特殊需求或者其他的方式都不起作用,那麼你可以手動安裝。
注意
在Robot Framework 3.0以前,也有Python 32位版本和64位版本兩個單獨的Windows安裝程式。但是在Windows上自帶
pip
的Python2.7.9和更新的版本以及Python 3則需要更多的安裝程式。
是以我們決定不在提供Windows安裝程式了。在Windows系統上我們同樣推薦
安裝方式。
pip
1.3.2 前提條件
Robot Framework支援
Python(包括Python 2和Python 3),
Jython(JVM),
IronPython(.NET)以及
PyPy.
在安裝Robot Framework之前,必須先安裝你選擇的Python解釋器。
一般來說,選擇哪種解釋器通常根據你的測試庫和測試環境決定。一些測試庫使用的工具和子產品僅僅在Python下工作,而另一些測試庫需要使用Java工具,這就需要有Jython環境,或者需要.NET環境,那就需要安裝IronPython。
也有一些測試庫和工具能夠在所有解釋器平台上正常運作。
如果你沒有特殊的環境要求,那麼推薦使用Python解釋器來運作Robot Framework。因為Robot Framework是用原生Python實作的,是以運作的自然比Jython和IronPython要快(特别是在啟動時間上)。
同時在類Unix系統上,Python解釋器是自帶的,随時可用。還有一個替代方案就是,運作獨立的JAR釋出包,它僅僅依賴Java環境作為前提條件。
Python 2 or Python 3
Python 2 和Python 3通常來說是同一種程式設計語言,但是它們之間卻不是完全的互相相容。兩者之間主要的差別是Python 3中所有的字元串都是Unicode編碼的,而在Python 2中預設是位元組編碼。
但是也有其他幾個向後相容的改變。最後一個Python 2版本是Python 2.7, 于2010年釋出, 将會支援到2020年。點選連結
Should I use Python 2 or 3?檢視更多關于兩者之間的異同,該使用哪個版本,
以及如何寫出相容兩個版本的代碼等等。
Robot Framework 3.0 是第一個支援Python 3的版本, 當然,它也支援Python 2版本。同時我們也計劃一直支援到Python 2官方的結束支援時間。我們希望開發Robot Framework生态系統的測試庫和測試工具的開發者能夠考慮支援Python 3, 像我們的核心架構一樣。
Python 安裝
在大部分類Unix系統,如Linux和OS X已經預設自帶了Python解釋器了,是以無需安裝。如果你是在Windows系統或者自己需要安裝Python, 可以去官方網站
http://python.org,這裡可以下載下傳合适的版本以及了解更多關于Python的相關資訊。
Robot Framework 3.0支援Python 2.6, 2.7, 3.3和更新的版本。但是RF3.1 已經計劃不支援Python 2.6了。如果你需要使用老版本Python的話,Robot Framework 2.5-2.8支援Python 2.5, Robot Framework 2.0-2.1 支援Python 2.3和2.4。
在安裝完Python以後,你可能需要設定PATH環境變量, 以使Python本身以及
robot
和
rebot
執行器能夠在指令行中執行。
小貼士
最新的Python Windows安裝程式在安裝過程中允許設定PATH路徑。這個功能預設是禁用的, 但可以通過在自定義安裝Python界面中添加
到Path中來啟動。
python.exe
Jython 安裝
使用Java實作的測試庫或者工具需要Robot Framework運作在Jython上。反過來又需要有Java運作時環境(JRE)或者Java開發工具集(JDK)。安裝這兩種Java發行包已經超出了本章的範圍了,但是你可以通過
http://java.com來擷取更多資訊。
安裝Jython是很容易的,第一步就是在網站
http://jython.org擷取安裝程式。安裝程式是可執行的JAR包,可以在指令行中執行,如
java -jar jython_installer-<version>.jar
。依賴于系統設定,你或許可以通過輕按兩下檔案來運作安裝程式。
Robot Framework 3.0 支援Jython 2.7, 是以需要Java 7或更新的運作時環境。如果需要舊的Jython或者Java版本,那麼Robot Framework 2.5-2.8支援Jython 2.5(需要Java 5以及更新版本);
Robot Framework 2.0-2.1支援Jython 2.2。
安裝完Jyhton之後,你可能仍需要配置PATH環境變量,以使Jython本身以及
robot
rebot
IronPython 安裝
IronPython 運作Robot Framework運作在.NET平台,可以與C#或者其他.NET語言和API進行互動。僅支援IronPython 2.7。
當使用IronPython,需要額外安裝
elementtree
子產品1.2.7預覽版本。這是因為
elementtree
子產品利用IronPython釋出出現了問題。
你可以下載下傳源碼安裝包到本地,解壓,然後在解壓目錄下打開終端,執行
ipy setup.py install
進行安裝。
安裝完IronPyhton之後,你可能仍需要配置PATH環境變量,以使Jython本身以及
robot
rebot
配置PATH
PATH環境變量列出了作業系統執行指令的位置,為了確定可以從終端上執行Robot Framework, 推薦将Robot Framework的執行器路徑添加到PATH環境變量中去。通常也将解釋器本身添加到PATH中,以使Python執行方式更加簡單。
當在類Unix系統使用Python時,Python本身和它的相關腳本會自動地添加到PATH路徑中去,無需額外操作。但在Windows系統和其他解釋器的情況下,還需要分别設定PATH環境變量。
python.exe
這樣會同時将Python安裝路徑和腳本目錄添加到PATH環境變量中去。
添加什麼目錄到PATH
添加什麼目錄到PATH環境變量中取決于你本地的作業系統和解釋器類型。首要位置就是解釋器的安裝目錄(如,C:\Python27),其次就是解釋器安裝執行腳本的目錄。
在Windows系統上,Python和IronPython均将腳本安裝到自身安裝目錄的Scripts子目錄下。無論在什麼系統上,Jython統一安裝到bin目錄下(如,C:\jython2.7.0\bin)。
注意Scripts和bin目錄并不是在解釋器自身安裝的時候建立的,在安裝Robot Framework和Python第三方子產品的時候,才會建立該目錄。
在Windows系統上配置PATH
在Windows系統上你可以根據以下步驟來配置PATH環境變量。注意具體的設定名稱可能在不同的Windows版本上會出現不一緻,但基本的方法是一樣的。
- 打開控制台>系統>進階>環境變量。有系統環境變量和使用者環境變量,它們的差別是使用者環境變量僅僅對目前的使用者生效,而系統環境變量則對所有的使用者起作用。
- 編輯已存在的PATH值,選擇
,然後添加編輯
;<InstallationDir>;<ScriptsDir>
到已存在的值的末尾去(如. ;C:\Python27;C:\Python27\Scripts)。
注意分号(;)很重要, 它用于分隔不同的值項。添加一個新的PATH值,選擇
,然後同時設定變量名和值, 隻一次前面不需要分号了。新增
- 點選
按鈕,儲存修改并退出對話框。确定
- 啟動新的指令行終端使修改生效。
注意,如果你的作業系統安裝了多個版本的Python的話,執行
robot
或
rebot
執行器指令的時候,會首先選擇PATH變量中最靠前的指令路徑來執行,而不管該指令安裝在哪個Python版本中。
為了避免這種情況,你可以選擇始終以直接執行robot子產品的方式,如
C:\Python27\python.exe -m robot
。
注意,你也不應該為添加到PATH環境變量中的路徑加上雙引号(如,"C:\Python27\Scripts"),雙引号
可能會在Python中引起一些問題。在設定PATH環境變量的路徑值是也沒必要添加雙引号,即使路徑中可能包含空格。
在類Unix系統上配置PATH
在類Unix系統上,你可能需要編輯系統層面或者使用者層面的配置檔案。至于編輯何種檔案則依據于具體的作業系統。你需要查詢作業系統文檔來擷取更多資訊。
配置
https_proxy
如果你是用pip安裝,并且使用代理的話,你需要設定
https_proxy
環境變量。
https_proxy
環境變量在安裝pip本身和使用pip安裝Robot Framework以及其他Python包的時候都需要。
和配置PATH類似,配置
https_proxy
環境變量,根據不同的系統,方式也不盡相同。但是
https_proxy
變量的值必須是代理的URL位址,如http://10.0.0.42:8080。
1.3.3 用pip安裝
Python标準的包管理方式是pip, 但是也有其他的替代方案如
Buildout easy_install本節隻覆寫了pip安裝的部分,其他的包管理方式也能安裝Robot Framework。
最新的Python, Jython和IronPython版本已經内置了pip子產品。後續的章節我們詳細讨論那些版本包含pip以及如何使用pip。如果你需要安裝pip,可檢視
pip項目首頁以了解最新的安裝說明.
隻有Robot Framework 2.7和更新的版本可以用pip安裝。如果你需要用舊的版本,你必須選擇其他的安裝方式。
為Python安裝pip
從Python 2.7.9開始,标準的Windows安裝程式就預設安裝和激活了pip了。假設你已經設定好PATH或者HTTP代理了,你可以在安裝完Python後執行指令
pip install robotframework
對于非Windows系統或者是早期的Python版本,你需要自己手動安裝pip。你可以利用系統的包管理工具,在linux上使用apt或者是yum來進行安裝。
同時你也可以在
首頁上找到手動安裝的說明。
如果你安裝有多個包含pip子產品的Python版本的話,那麼優先執行PATH環境變量中第一個在搜尋路徑發現的pip指令。一個替代的方式是直接在執行pip指令的時候選擇Python的版本:
python -m pip install robotframework
python3 -m pip install robotframework
為Jython安裝pip
Jython 2.7已經自帶了pip,但是需要先執行下面的指令啟用它:
jython -m ensurepip
Jython将pip安裝到<JythonInstallation>/bin目錄下。
執行運作
pip install robotframework
有可能會使用其他的pip版本, 這取決于PATH環境變量中pip指令的路徑位址順序。
一個替代的方式是直接用Jython運作pip子產品:
jython -m pip install robotframework
為IronPython安裝pip
IronPython 從2.7.5版本開始自帶pip。和Jython類似,需要先進行激活:
ipy -X:Frames -m ensurepip
注意指令行選項
-X:Frames
在激活和使用pip的時候都需要。
IronPython将pip安裝到<IronPythonInstallation>/Scripts目錄下。
pip install robotframework
一個替代的方式是直接用IronPthon運作pip子產品:
ipy -X:Frames -m pip install robotframework
IronPython 2.7.5以前的版本,官方不支援pip。
使用pip
一旦安裝好了pip,設定好https代理以後,在指令行使用pip就非常簡單了。最簡單的方式就是使用pip從Python Package Index (PyPI)上來查找和下載下傳包。
它也可以安裝已經下載下傳的安裝包。最常用的使用方法如下所示,pip官方文檔提供了更多詳細的資訊:
# Install the latest version
pip install robotframework
# Upgrade to the latest version
pip install -upgrade robotframework
# Install a specific version
pip install robotframework==2.9.2
# Install separately downloaded package (no network connection needed.)
pip install robotframework-3.0.tar.gz
# Uninstall
pip uninstall robotframework
注意pip1.4和更新的pip版本預設情況下隻會安裝穩定的包版本。如果你需要安裝alpha,beta或者rc版本,你需要特别指定,或者使用
--pre
選項。
# Install 3.0 beta 1
pip install robotframework==3.0b1
# Upgrade to the latest version even if it is a pre-release
pip install --pre --upgrade robotframework
1.3.4 用源碼安裝
這種安裝方法可以在所有系統和解釋器環境下使用。從源碼安裝可能有一點可怕,但是過程其實是非常簡單明了的。
擷取源碼
你通常可以下載下傳
.tar.gz
格式的源碼釋出包來擷取源碼。在
PyPI上可以擷取更新的包。
但是Robot Framework 2.8.1和更早的版本隻能從舊的
Google Code下載下傳頁面擷取了。
一旦你下載下傳了源碼包以後,你就需要解壓到某個路徑,完成後,建立了目錄為
robotframework-<verion>
。這個目錄包含了安裝的源碼和腳本。
另一種擷取源碼的方式是直接從
倉庫中克隆該項目。
預設情況下,擷取的是最新的代碼, 但是你可以很容易切換到不同的釋出版本和Tag标簽。
安裝
Robot Framework源碼安裝是采用标準的Python
setup.py
安裝腳本。安裝腳本在解壓後的源碼目錄中, 你可以在指令行下使用任意一種解釋器進行安裝:
python setup.py install
jython setup.py install
ipy setup.py install
setup.py
安裝腳本允許接收多個參數。例如,安裝到非預設路徑不需要管理者權限。它也可以用于建立不同的發行包。
執行
python setup.py --help
1.3.5 獨立的JAR發行包
Robot Framework也提供了獨立的JAR發行包,包含了Jython和Robot Framework,僅僅依賴Java環境。這種方式不需要進行安裝,隻需要一個包就可以了。
但是一個缺點就是在通常的Python解釋器下不能工作。
這個包的命名是
robotframework-<version>.jar
, 在
Maven中央倉庫上可以獲得。
下載下傳完包以後,你可以以下的方式執行測試:
java -jar robotframework-3.0.jar mytests.robot
java -jar robotframework-3.0.jar --variable name:value mytests.robot
如果你想使用後處理指令或者使用其他内置工具的話,你需要将指令名作為第一個參數傳遞給JAR檔案:
java -jar robotframework-3.0.jar rebot output.xml
java -jar robotframework-3.0.jar libdoc MyLibrary list
可以通過不帶任何參數執行JAR檔案來擷取更多資訊。
除了Python标準庫和Robot Framework子產品外,這個獨立的JAR發行包從2.9.2版本開始,也包含了依賴項PyYAML來處理yaml格式的變量檔案。
1.3.6 手動安裝
如果你不想采用任何自動化的方式來安裝Robot Framework的話,你也可以按照以下步驟來手動安裝:
- 擷取源碼, 所有的源碼在
目錄下, 如果你從源碼釋出或者版本控制系統檢出的話,你可以從robot
目錄找到源碼, 你也可以從早先安裝路徑制擷取源碼。src
- 拷貝源碼到你想要的路徑。
- 按照自己的方式執行測試。
1.3.7 驗證安裝
在成功安裝以後,可以通過在指令行中終端上用
--version
選項來運作執行器去擷取Robot Framework版本以及Python解釋器版本:
$robot --version
Robot Framework 3.0 (Python 2.7.10 on linux2)
$rebot --version
Rebot 3.0 (Python 2.7.10 on linux2)
如果運作執行器腳本失敗的話,提示錯誤資訊是指令沒找到或者不識别的話,最好先檢查一下PATH環境變量是否配置正确。如果PATH沒有問題的話,
再去閱讀相關章節的說明, 如果還是沒有解決的話,可以通過網際網路或者是robotframework-users郵件組等方式來尋求幫助。
1.3.8 解除安裝
最簡單的解除安裝Robot Framework的方式就是使用pip指令:
pip uninstall robotframework
用pip解除安裝的好處就是即使你是用源碼安裝的,也同樣可以解除安裝。如果你沒有安裝pip的話,或者是手動安裝到自定義的路徑,那麼你需要知道你的檔案安裝到哪裡,然後手動删除它們。
如果你在PATH環境變量中設定了相關路徑,你需要撤銷這些操作。
1.3.9 更新
如果你使用pip的話,更新新版本,可以使用參數
--upgrade
選項或者是指定的版本:
pip install --upgrade robotframework
pip install -U robotframework
pip install robotframework==2.9.2
但使用pip安裝時,它會自動解除安裝先前安裝的版本。如果你是源碼安裝的話,覆寫安裝通常也是安全的。
如若遇到了問題,請再安裝之前先解除安裝舊的版本可能會解決。
當更新Robot Framework時,可能會遇到新版本對舊版本不相容的情況,進而影響到已存在的測試或者是測試設施。但是這些問題在臨近的小版本之間影響微乎其微,
如2.8.7或2.9.2, 而在大版本之間如2.9和3.0之間可能會比較常見。向後不相容的影響以及不推薦的特性在發行說明中已經詳細說明了。
在更新到新的裡程碑版本的時候,了解它的新特性和一些改變會是很好的方式。
1.3.10 執行Robot Framework
使用
robot
rebot
腳本
從Robot Framework 3.0開始,用腳本指令
robot
來執行測試,用
rebot
腳本來執行結果的後處理。
robot tests.robot
rebot output.xml
這兩個腳本指令都是随着Robot Framework安裝程式一起被安裝的。如果PATH配置正确的話,可以直接從指令行終端上執行。
它們是用Python實作的,但是在Windows上,它們是批處理腳本。
舊的Robot Framework版本不含
robot
指令,而
rebot
指令隻在Python解釋器中。
在其他解釋器中替代的是
pybot
,
jybot
,
ipybot
來執行測試,
jyrebot
ipyrebot
來處理結果。這些腳本目前仍然可以運作,但是不推薦使用,不排除在将來會将它們移除。
執行已安裝的
robot
子產品
還有一種替代的方式運作測試是用Python的
-m command line option
指令行方式直接執行
robot
子產品或者其子子產品
robot.run
這種方式在多版本Python并存的環境中很有用。
python -m robot tests.robot
python3 -m robot.run tests.robot
jython -m robot tests.robot
/opt/jython/jython -m robot tests.robot
對
python -m robot
方式的支援是Robot Framework 3.0的新功能,在舊的版本中隻支援
python -m robot.run
。後者必須在Python 2.6的環境下運作。
結果後處理使用相同的方式。子產品改為
robot.rebot
python -m robot.rebot output.xml
robot
目錄
如果你知道robot安裝目錄的話,你可以在安裝目錄中直接執行
robot
指令或者是
run.py
檔案:
python path/to/robot/ tests.robot
jython path/to/robot/run.py tests.robot
robot
目錄是Robot Framework 3.0的新功能。舊版本功能僅僅支援執行
robot/run.py
檔案。
結果後處理使用同樣的方式
robot/rebot.py
執行:
python path/to/robot/rebot.py output.xml
如果你是手動安裝的,這種執行方式非常友善。