天天看點

Robot Framework 中文使用者指南 | 第一章第三節1.3 安裝說明

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.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
           

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