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界面中添加python.exe
到Path中來啟動。
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 Windows安裝程序在安裝過程中允許設置PATH路徑。這個功能默認是禁用的, 但可以通過在自定義安裝Python界面中添加python.exe
到Path中來啟動。
這樣會同時將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主頁上找到手動安裝的說明。
如果你安裝有多個包含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
有可能會使用其他的pip版本, 這取決于PATH環境變量中pip命令的路徑地址順序。
一個替代的方式是直接用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>
。這個目錄包含了安裝的源碼和腳本。
另一種獲取源碼的方式是直接從Github倉庫中克隆該項目。
默認情況下,獲取的是最新的代碼, 但是你可以很容易切換到不同的發布版本和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
如果你是手動安裝的,這種執行方式非常方便。