1.3 安裝說明
本章的說明涵蓋了所有Robot Framework安裝和卸載的方法斋否,以及在不同操作系統(tǒng)上安裝的前提條件。如果你本地安裝有pip
,那么就很容易安裝Robot Framework乏矾。如下:
pip install robotframework
1.3.1 介紹
Robot Framework是用Python實(shí)現(xiàn)的,同時支持Jython(JVM)和IronPython(.NET)迁杨。在安裝框架之前钻心,前提條件就是安裝其中一種Python解釋器。
下面列出了安裝Robot Framework不同的方式铅协,并在后續(xù)的章節(jié)中加以詳細(xì)的說明捷沸。
用pip安裝
用pip
安裝Robot Framework是官方推薦的方式。在最新的Python, Jython和IronPython版本中已經(jīng)包含了這種標(biāo)準(zhǔn)的包管理器狐史。
如果你已經(jīng)安裝了pip
, 你可以簡單的執(zhí)行以下這句命令:
pip install robotframework
用源碼安裝
這種方式獨(dú)立于操作系統(tǒng)和Python解釋器痒给。你可以從PyPI網(wǎng)站上下載源碼發(fā)布包進(jìn)行解[壓亦或是從Github上克隆Robot Framework倉庫。
獨(dú)立的JAR發(fā)布包
如果你用Jython執(zhí)行測試就足夠的話骏全,最簡單的方式就是從Maven中央倉庫上下載獨(dú)立的JAR包robotframework-[version].jar
JAR發(fā)布包同時包含了Jython和Robot Framework苍柏,因此僅僅需要安裝Java就可以了。
手動安裝
如果你有特殊需求或者其他的方式都不起作用姜贡,那么你可以手動安裝试吁。
注意
在Robot Framework 3.0以前,也有Python 32位版本和64位版本兩個單獨(dú)的Windows安裝程序楼咳。但是在Windows上自帶pip
的Python2.7.9和更新的版本以及Python 3則需要更多的安裝程序熄捍。
因此我們決定不在提供Windows安裝程序了。在Windows系統(tǒng)上我們同樣推薦pip
安裝方式母怜。
1.3.2 前提條件
Robot Framework支持Python(包括Python 2和Python 3), Jython(JVM), IronPython(.NET)以及PyPy.
在安裝Robot Framework之前余耽,必須先安裝你選擇的Python解釋器。
一般來說糙申,選擇哪種解釋器通常根據(jù)你的測試庫和測試環(huán)境決定宾添。一些測試庫使用的工具和模塊僅僅在Python下工作,而另一些測試庫需要使用Java工具柜裸,這就需要有Jython環(huán)境缕陕,或者需要.NET環(huán)境,那就需要安裝IronPython疙挺。
也有一些測試庫和工具能夠在所有解釋器平臺上正常運(yùn)行扛邑。
如果你沒有特殊的環(huán)境要求,那么推薦使用Python解釋器來運(yùn)行Robot Framework铐然。因?yàn)镽obot Framework是用原生Python實(shí)現(xiàn)的蔬崩,所以運(yùn)行的自然比Jython和IronPython要快(特別是在啟動時間上)恶座。
同時在類Unix系統(tǒng)上,Python解釋器是自帶的沥阳,隨時可用跨琳。還有一個替代方案就是,運(yùn)行獨(dú)立的JAR發(fā)布包桐罕,它僅僅依賴Java環(huán)境作為前提條件脉让。
Python 2 or Python 3
Python 2 和Python 3通常來說是同一種編程語言,但是它們之間卻不是完全的相互兼容功炮。兩者之間主要的區(qū)別是Python 3中所有的字符串都是Unicode編碼的溅潜,而在Python 2中默認(rèn)是字節(jié)編碼。
但是也有其他幾個向后兼容的改變薪伏。最后一個Python 2版本是Python 2.7, 于2010年發(fā)布, 將會支持到2020年滚澜。點(diǎn)擊鏈接Should I use Python 2 or 3?查看更多關(guān)于兩者之間的異同,該使用哪個版本嫁怀,
以及如何寫出兼容兩個版本的代碼等等设捐。
Robot Framework 3.0 是第一個支持Python 3的版本, 當(dāng)然眶掌,它也支持Python 2版本挡育。同時我們也計劃一直支持到Python 2官方的結(jié)束支持時間。我們希望開發(fā)Robot Framework生態(tài)系統(tǒng)的測試庫和測試工具的開發(fā)者能夠考慮支持Python 3, 像我們的核心框架一樣朴爬。
Python 安裝
在大部分類Unix系統(tǒng)即寒,如Linux和OS X已經(jīng)默認(rèn)自帶了Python解釋器了,所以無需安裝召噩。如果你是在Windows系統(tǒng)或者自己需要安裝Python, 可以去官方網(wǎng)站http://python.org母赵,這里可以下載合適的版本以及了解更多關(guān)于Python的相關(guān)信息。
Robot Framework 3.0支持Python 2.6, 2.7, 3.3和更新的版本具滴。但是RF3.1 已經(jīng)計劃不支持Python 2.6了凹嘲。如果你需要使用老版本Python的話,Robot Framework 2.5-2.8支持Python 2.5, Robot Framework 2.0-2.1 支持Python 2.3和2.4构韵。
在安裝完P(guān)ython以后周蹭,你可能需要設(shè)置PATH環(huán)境變量, 以使Python本身以及robot
和rebot
執(zhí)行器能夠在命令行中執(zhí)行。
小貼士
最新的Python Windows安裝程序在安裝過程中允許設(shè)置PATH路徑疲恢。這個功能默認(rèn)是禁用的, 但可以通過在自定義安裝Python界面中添加python.exe
到Path中來啟動凶朗。
Jython 安裝
使用Java實(shí)現(xiàn)的測試庫或者工具需要Robot Framework運(yùn)行在Jython上。反過來又需要有Java運(yùn)行時環(huán)境(JRE)或者Java開發(fā)工具集(JDK)显拳。安裝這兩種Java發(fā)行包已經(jīng)超出了本章的范圍了棚愤,但是你可以通過http://java.com來獲取更多信息。
安裝Jython是很容易的,第一步就是在網(wǎng)站http://jython.org獲取安裝程序宛畦。安裝程序是可執(zhí)行的JAR包瘸洛,可以在命令行中執(zhí)行,如java -jar jython_installer-<version>.jar
。依賴于系統(tǒng)設(shè)置次和,你或許可以通過雙擊文件來運(yùn)行安裝程序反肋。
Robot Framework 3.0 支持Jython 2.7, 因此需要Java 7或更新的運(yùn)行時環(huán)境。如果需要舊的Jython或者Java版本斯够,那么Robot Framework 2.5-2.8支持Jython 2.5(需要Java 5以及更新版本)囚玫;
Robot Framework 2.0-2.1支持Jython 2.2。
安裝完Jyhton之后读规,你可能仍需要配置PATH環(huán)境變量,以使Jython本身以及robot
和rebot
執(zhí)行器能夠在命令行中執(zhí)行燃少。
IronPython 安裝
IronPython 運(yùn)行Robot Framework運(yùn)行在.NET平臺,可以與C#或者其他.NET語言和API進(jìn)行交互束亏。僅支持IronPython 2.7。
當(dāng)使用IronPython阵具,需要額外安裝elementtree
模塊1.2.7預(yù)覽版本碍遍。這是因?yàn)?code>elementtree模塊利用IronPython發(fā)布出現(xiàn)了問題。
你可以下載源碼安裝包到本地阳液,解壓怕敬,然后在解壓目錄下打開終端,執(zhí)行ipy setup.py install
進(jìn)行安裝帘皿。
安裝完IronPyhton之后东跪,你可能仍需要配置PATH環(huán)境變量,以使Jython本身以及robot
和rebot
執(zhí)行器能夠在命令行中執(zhí)行鹰溜。
配置PATH
PATH環(huán)境變量列出了操作系統(tǒng)執(zhí)行命令的位置虽填,為了確保可以從終端上執(zhí)行Robot Framework, 推薦將Robot Framework的執(zhí)行器路徑添加到PATH環(huán)境變量中去曹动。通常也將解釋器本身添加到PATH中斋日,以使Python執(zhí)行方式更加簡單。
當(dāng)在類Unix系統(tǒng)使用Python時墓陈,Python本身和它的相關(guān)腳本會自動地添加到PATH路徑中去恶守,無需額外操作。但在Windows系統(tǒng)和其他解釋器的情況下贡必,還需要分別設(shè)置PATH環(huán)境變量兔港。
小貼士
最新的Python Windows安裝程序在安裝過程中允許設(shè)置PATH路徑。這個功能默認(rèn)是禁用的, 但可以通過在自定義安裝Python界面中添加python.exe
到Path中來啟動赊级。
這樣會同時將Python安裝路徑和腳本目錄添加到PATH環(huán)境變量中去押框。
添加什么目錄到PATH
添加什么目錄到PATH環(huán)境變量中取決于你本地的操作系統(tǒng)和解釋器類型。首要位置就是解釋器的安裝目錄(如理逊,C:\Python27)橡伞,其次就是解釋器安裝執(zhí)行腳本的目錄盒揉。
在Windows系統(tǒng)上,Python和IronPython均將腳本安裝到自身安裝目錄的Scripts子目錄下兑徘。無論在什么系統(tǒng)上刚盈,Jython統(tǒng)一安裝到bin目錄下(如,C:\jython2.7.0\bin)挂脑。
注意Scripts和bin目錄并不是在解釋器自身安裝的時候創(chuàng)建的藕漱,在安裝Robot Framework和Python第三方模塊的時候,才會創(chuàng)建該目錄崭闲。
在Windows系統(tǒng)上配置PATH
在Windows系統(tǒng)上你可以根據(jù)以下步驟來配置PATH環(huán)境變量肋联。注意具體的設(shè)置名稱可能在不同的Windows版本上會出現(xiàn)不一致,但基本的方法是一樣的刁俭。
- 打開控制面板>系統(tǒng)>高級>環(huán)境變量橄仍。有系統(tǒng)環(huán)境變量和用戶環(huán)境變量,它們的區(qū)別是用戶環(huán)境變量僅僅對當(dāng)前的用戶生效牍戚,而系統(tǒng)環(huán)境變量則對所有的用戶起作用侮繁。
- 編輯已存在的PATH值,選擇
編輯
如孝,然后添加;<InstallationDir>;<ScriptsDir>
到已存在的值的末尾去(如. ;C:\Python27;C:\Python27\Scripts)宪哩。
注意分號(;)很重要, 它用于分隔不同的值項。添加一個新的PATH值第晰,選擇新增
锁孟,然后同時設(shè)置變量名和值, 只一次前面不需要分號了。 - 點(diǎn)擊
確定
按鈕,保存修改并退出對話框但荤。 - 啟動新的命令行終端使修改生效罗岖。
注意,如果你的操作系統(tǒng)安裝了多個版本的Python的話腹躁,執(zhí)行robot
或rebot
執(zhí)行器命令的時候桑包,會首先選擇PATH變量中最靠前的命令路徑來執(zhí)行,而不管該命令安裝在哪個Python版本中纺非。
為了避免這種情況哑了,你可以選擇始終以直接執(zhí)行robot模塊的方式,如C:\Python27\python.exe -m robot
烧颖。
注意弱左,你也不應(yīng)該為添加到PATH環(huán)境變量中的路徑加上雙引號(如,"C:\Python27\Scripts")炕淮,雙引號可能會在Python中引起一些問題拆火。在設(shè)置PATH環(huán)境變量的路徑值是也沒必要添加雙引號,即使路徑中可能包含空格。
在類Unix系統(tǒng)上配置PATH
在類Unix系統(tǒng)上们镜,你可能需要編輯系統(tǒng)層面或者用戶層面的配置文件币叹。至于編輯何種文件則依據(jù)于具體的操作系統(tǒng)。你需要查詢操作系統(tǒng)文檔來獲取更多信息模狭。
配置https_proxy
如果你是用pip安裝颈抚,并且使用代理的話,你需要設(shè)置https_proxy
環(huán)境變量嚼鹉。https_proxy
環(huán)境變量在安裝pip本身和使用pip安裝Robot Framework以及其他Python包的時候都需要贩汉。
和配置PATH類似,配置https_proxy
環(huán)境變量锚赤,根據(jù)不同的系統(tǒng)匹舞,方式也不盡相同。但是https_proxy
變量的值必須是代理的URL地址宴树,如http://10.0.0.42:8080策菜。
1.3.3 用pip安裝
Python標(biāo)準(zhǔn)的包管理方式是pip, 但是也有其他的替代方案如Buildout和easy_install。
本節(jié)只覆蓋了pip安裝的部分酒贬,其他的包管理方式也能安裝Robot Framework。
最新的Python, Jython和IronPython版本已經(jīng)內(nèi)置了pip模塊翠霍。后續(xù)的章節(jié)我們詳細(xì)討論那些版本包含pip以及如何使用pip锭吨。如果你需要安裝pip,可查看pip項目主頁以了解最新的安裝說明.
小貼士
只有Robot Framework 2.7和更新的版本可以用pip安裝寒匙。如果你需要用舊的版本零如,你必須選擇其他的安裝方式。
為Python安裝pip
從Python 2.7.9開始锄弱,標(biāo)準(zhǔn)的Windows安裝程序就默認(rèn)安裝和激活了pip了考蕾。假設(shè)你已經(jīng)設(shè)置好PATH或者HTTP代理了,你可以在安裝完P(guān)ython后執(zhí)行命令
pip install robotframework
会宪。
對于非Windows系統(tǒng)或者是早期的Python版本肖卧,你需要自己手動安裝pip。你可以利用系統(tǒng)的包管理工具掸鹅,在linux上使用apt或者是yum來進(jìn)行安裝塞帐。
同時你也可以在pip主頁上找到手動安裝的說明。
如果你安裝有多個包含pip模塊的Python版本的話巍沙,那么優(yōu)先執(zhí)行PATH環(huán)境變量中第一個在搜索路徑發(fā)現(xiàn)的pip命令葵姥。一個替代的方式是直接在執(zhí)行pip命令的時候選擇Python的版本:
python -m pip install robotframework
python3 -m pip install robotframework
為Jython安裝pip
Jython 2.7已經(jīng)自帶了pip,但是需要先執(zhí)行下面的命令啟用它:
jython -m ensurepip
Jython將pip安裝到<JythonInstallation>/bin目錄下句携。
執(zhí)行運(yùn)行pip install robotframework
有可能會使用其他的pip版本, 這取決于PATH環(huán)境變量中pip命令的路徑地址順序榔幸。
一個替代的方式是直接用Jython運(yùn)行pip模塊:
jython -m pip install robotframework
為IronPython安裝pip
IronPython 從2.7.5版本開始自帶pip。和Jython類似,需要先進(jìn)行激活:
ipy -X:Frames -m ensurepip
注意命令行選項 -X:Frames
在激活和使用pip的時候都需要削咆。
IronPython將pip安裝到<IronPythonInstallation>/Scripts目錄下牍疏。
執(zhí)行運(yùn)行pip install robotframework
有可能會使用其他的pip版本, 這取決于PATH環(huán)境變量中pip命令的路徑地址順序。
一個替代的方式是直接用IronPthon運(yùn)行pip模塊:
ipy -X:Frames -m pip install robotframework
IronPython 2.7.5以前的版本态辛,官方不支持pip麸澜。
使用pip
一旦安裝好了pip,設(shè)置好https代理以后奏黑,在命令行使用pip就非常簡單了炊邦。最簡單的方式就是使用pip從Python Package Index (PyPI)上來查找和下載包。
它也可以安裝已經(jīng)下載的安裝包熟史。最常用的使用方法如下所示馁害,pip官方文檔提供了更多詳細(xì)的信息:
# 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版本默認(rèn)情況下只會安裝穩(wěn)定的包版本。如果你需要安裝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 用源碼安裝
這種安裝方法可以在所有系統(tǒng)和解釋器環(huán)境下使用。從源碼安裝可能有一點(diǎn)可怕限寞,但是過程其實(shí)是非常簡單明了的忍啸。
獲取源碼
你通常可以下載.tar.gz
格式的源碼發(fā)布包來獲取源碼履植。在PyPI上可以獲取更新的包计雌。
但是Robot Framework 2.8.1和更早的版本只能從舊的Google Code下載頁面獲取了。
一旦你下載了源碼包以后玫霎,你就需要解壓到某個路徑凿滤,完成后,創(chuàng)建了目錄為robotframework-<verion>
庶近。這個目錄包含了安裝的源碼和腳本翁脆。
另一種獲取源碼的方式是直接從Github倉庫中克隆該項目。
默認(rèn)情況下鼻种,獲取的是最新的代碼, 但是你可以很容易切換到不同的發(fā)布版本和Tag標(biāo)簽反番。
安裝
Robot Framework源碼安裝是采用標(biāo)準(zhǔn)的Python setup.py
安裝腳本。安裝腳本在解壓后的源碼目錄中, 你可以在命令行下使用任意一種解釋器進(jìn)行安裝:
python setup.py install
jython setup.py install
ipy setup.py install
setup.py
安裝腳本允許接收多個參數(shù)普舆。例如恬口,安裝到非默認(rèn)路徑不需要管理員權(quán)限。它也可以用于創(chuàng)建不同的發(fā)行包沼侣。
執(zhí)行python setup.py --help
來獲取更多信息祖能。
1.3.5 獨(dú)立的JAR發(fā)行包
Robot Framework也提供了獨(dú)立的JAR發(fā)行包,包含了Jython和Robot Framework蛾洛,僅僅依賴Java環(huán)境养铸。這種方式不需要進(jìn)行安裝雁芙,只需要一個包就可以了。
但是一個缺點(diǎn)就是在通常的Python解釋器下不能工作钞螟。
這個包的命名是robotframework-<version>.jar
, 在Maven中央倉庫上可以獲得兔甘。
下載完包以后,你可以以下的方式執(zhí)行測試:
java -jar robotframework-3.0.jar mytests.robot
java -jar robotframework-3.0.jar --variable name:value mytests.robot
如果你想使用后處理命令或者使用其他內(nèi)置工具的話鳞滨,你需要將命令名作為第一個參數(shù)傳遞給JAR文件:
java -jar robotframework-3.0.jar rebot output.xml
java -jar robotframework-3.0.jar libdoc MyLibrary list
可以通過不帶任何參數(shù)執(zhí)行JAR文件來獲取更多信息洞焙。
除了Python標(biāo)準(zhǔn)庫和Robot Framework模塊外,這個獨(dú)立的JAR發(fā)行包從2.9.2版本開始拯啦,也包含了依賴項PyYAML來處理yaml格式的變量文件澡匪。
1.3.6 手動安裝
如果你不想采用任何自動化的方式來安裝Robot Framework的話,你也可以按照以下步驟來手動安裝:
- 獲取源碼, 所有的源碼在
robot
目錄下, 如果你從源碼發(fā)布或者版本控制系統(tǒng)檢出的話褒链,你可以從src
目錄找到源碼, 你也可以從早先安裝路徑制獲取源碼唁情。 - 拷貝源碼到你想要的路徑。
- 按照自己的方式執(zhí)行測試甫匹。
1.3.7 驗(yàn)證安裝
在成功安裝以后甸鸟,可以通過在命令行中終端上用--version
選項來運(yùn)行執(zhí)行器去獲取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)
如果運(yùn)行執(zhí)行器腳本失敗的話,提示錯誤信息是命令沒找到或者不識別的話兵迅,最好先檢查一下PATH環(huán)境變量是否配置正確抢韭。如果PATH沒有問題的話,
再去閱讀相關(guān)章節(jié)的說明, 如果還是沒有解決的話恍箭,可以通過因特網(wǎng)或者是robotframework-users郵件組等方式來尋求幫助七嫌。
1.3.8 卸載
最簡單的卸載Robot Framework的方式就是使用pip命令:
pip uninstall robotframework
用pip卸載的好處就是即使你是用源碼安裝的祝懂,也同樣可以卸載烙博。如果你沒有安裝pip的話苛败,或者是手動安裝到自定義的路徑呢岗,那么你需要知道你的文件安裝到哪里肆饶,然后手動刪除它們骇吭。
如果你在PATH環(huán)境變量中設(shè)置了相關(guān)路徑惑申,你需要撤銷這些操作候学。
1.3.9 升級
如果你使用pip的話藕筋,升級新版本,可以使用參數(shù)--upgrade
選項或者是指定的版本:
pip install --upgrade robotframework
pip install -U robotframework
pip install robotframework==2.9.2
但使用pip安裝時梳码,它會自動卸載先前安裝的版本隐圾。如果你是源碼安裝的話,覆蓋安裝通常也是安全的掰茶。
如若遇到了問題暇藏,請再安裝之前先卸載舊的版本可能會解決。
當(dāng)升級Robot Framework時濒蒋,可能會遇到新版本對舊版本不兼容的情況盐碱,從而影響到已存在的測試或者是測試設(shè)施把兔。但是這些問題在臨近的小版本之間影響微乎其微,
如2.8.7或2.9.2, 而在大版本之間如2.9和3.0之間可能會比較常見瓮顽。向后不兼容的影響以及不推薦的特性在發(fā)行說明中已經(jīng)詳細(xì)說明了县好。
在升級到新的里程碑版本的時候,了解它的新特性和一些改變會是很好的方式暖混。
1.3.10 執(zhí)行Robot Framework
使用robot
和rebot
腳本
從Robot Framework 3.0開始缕贡,用腳本命令robot
來執(zhí)行測試,用rebot
腳本來執(zhí)行結(jié)果的后處理。
robot tests.robot
rebot output.xml
這兩個腳本命令都是隨著Robot Framework安裝程序一起被安裝的拣播。如果PATH配置正確的話晾咪,可以直接從命令行終端上執(zhí)行。
它們是用Python實(shí)現(xiàn)的诫尽,但是在Windows上禀酱,它們是批處理腳本。
舊的Robot Framework版本不含robot
命令牧嫉,而rebot
命令只在Python解釋器中剂跟。
在其他解釋器中替代的是pybot
,jybot
, ipybot
來執(zhí)行測試, jyrebot
, ipyrebot
來處理結(jié)果酣藻。這些腳本目前仍然可以運(yùn)行曹洽,但是不推薦使用,不排除在將來會將它們移除辽剧。
執(zhí)行已安裝的robot
模塊
還有一種替代的方式運(yùn)行測試是用Python的-m command line option
命令行方式直接執(zhí)行robot
模塊或者其子模塊robot.run
送淆。
這種方式在多版本Python并存的環(huán)境中很有用。
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的環(huán)境下運(yùn)行。
結(jié)果后處理使用相同的方式撞羽。模塊改為robot.rebot
阐斜。
python -m robot.rebot output.xml
執(zhí)行已安裝的robot
目錄
如果你知道robot安裝目錄的話,你可以在安裝目錄中直接執(zhí)行robot
命令或者是run.py
文件:
python path/to/robot/ tests.robot
jython path/to/robot/run.py tests.robot
執(zhí)行robot
目錄是Robot Framework 3.0的新功能诀紊。舊版本功能僅僅支持執(zhí)行robot/run.py
文件谒出。
結(jié)果后處理使用同樣的方式robot/rebot.py
執(zhí)行:
python path/to/robot/rebot.py output.xml
如果你是手動安裝的,這種執(zhí)行方式非常方便邻奠。