Robot Framework 中文用戶指南 | 第一章第三節

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本身以及robotrebot執行器能夠在命令行中執行。

小貼士
最新的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本身以及robotrebot執行器能夠在命令行中執行。

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本身以及robotrebot執行器能夠在命令行中執行。

配置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的話,執行robotrebot執行器命令的時候,會首先選擇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, 但是也有其他的替代方案如Buildouteasy_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

使用robotrebot腳本

從Robot Framework 3.0開始,用腳本命令robot來執行測試,用rebot腳本來執行結果的后處理。

    robot tests.robot
    rebot output.xml

這兩個腳本命令都是隨著Robot Framework安裝程序一起被安裝的。如果PATH配置正確的話,可以直接從命令行終端上執行。
它們是用Python實現的,但是在Windows上,它們是批處理腳本。

舊的Robot Framework版本不含robot命令,而rebot命令只在Python解釋器中。
在其他解釋器中替代的是pybotjybot, 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

如果你是手動安裝的,這種執行方式非常方便。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容

  • 1. 介紹 首先讓我們來看看TensorFlow! 但是在我們開始之前,我們先來看看Python API中的Ten...
    JasonJe閱讀 11,782評論 1 32
  • GitHub 上有一個 Awesome - XXX 系列的資源整理,資源非常豐富,涉及面非常廣。awesome-p...
    若與閱讀 18,691評論 4 418
  • 環境管理管理Python版本和環境的工具。p–非常簡單的交互式python版本管理工具。pyenv–簡單的Pyth...
    MrHamster閱讀 3,810評論 1 61
  • 譯者按:原文寫于2011年末,雖然文中關于Python 3的一些說法可以說已經不成立了,但是作為一篇面向從其他語言...
    EarlGrey閱讀 69,701評論 7 124
  • 如果來吳哥的時間比較短,一般最經典的就是去看吳哥寺和巴揚寺,就如我這次。 城郭 進入吳哥城會有一個很高的們,門前都...
    侯開心的手帳閱讀 384評論 0 0