Robot Framework是一個強大的自動化測試框架,依靠社區力量編寫的Test Library為它提供了非常強的擴展性。下面我將介紹的就是如何使用第三方提供的擴展測試庫(Test Library)來遠程登錄Unix,并在上面做常見操作。
環境準備(W32環境下):
1.首先我們得擁有Robot Framework的運行環境。
a.必須安裝python,因為Robot Framework是用python實現的,目前Robot Framework只支持Python2.X版本。
b.安裝Robot Framework,目前最新版本為2.6.1。安裝說明在項目的主頁中給了詳細說明,可見下面鏈接
,這里就不累述了。 http://code.google.com/p/robotframework/downloads/list
2.要實現RobotFramework對Unix的訪問,我們需要使用到它的第三方擴展庫 SSH Library。
如果你動手能力強,E文又好,可以跳過對SSH Library安裝的介紹,直接看他的英文安裝說明(寫的有點兒簡單)。
http://code.google.com/p/robotframework-sshlibrary/wiki/InstallationInstructions
a.在安裝SSHLibrary以前,我們需要安裝它的支撐庫Paramiko
實際上真正實現訪問Unix功能的軟件是paramiko,SSHLibrary是按照Robot Framework的擴展測試庫標準對 Paramiko進行的封裝。
Paramiko的首頁 http://www.lag.net/paramiko/
我們在頁面的下載部分下載 paramiko-1.7.7.1.zip 解壓后執行: setup.py install 安裝。
注意要如果有多個python版本,必須安裝到與RobotFramwork一致的版本上。
windows下的多版本管理可以參照下貼:
http://hi.baidu.com/yobin/blog/item/f28af43650ec0f370a55a9d5.html
b.paramiko依賴另一個庫,這個庫提供SSH所需的數字簽名算法,這個庫是 PyCrypto,需要單獨 安裝。pyCrypto也是python寫的,可以用 setup.py install 命令安裝。
c.安裝好上面兩個庫,我們就可以安裝SSH LIbrary了,它的下載地址如下:
http://code.google.com/p/robotframework-sshlibrary/
選擇SSHLibrary-1.0.win32.exe 這個安裝文件下載并安裝。安裝很傻瓜,直接Next就行了。
仍需要注意的是如果你安裝了多個Python版本,必須選擇你安裝Robot Framework的對應Python版本.
3.使用Ride(選用):
Ride是一個robot framework 測試用例編寫的一個集成工具,通過它我們可以非常方便的編輯測試用例。
Ride的首頁:http://code.google.com/p/robotframework-ride/ 大家自行安裝,這里就不多說了。
使用
SSHLibrary的使用方法,與其它Robot Framework下其它測試庫使用的方法相同。都是通過編寫測試用例來實現對被測程序的操作。SSHLibrary為我們隱去了很多細節(如使用DSA,RSA建立加密信道等),僅僅通過幾個關鍵字就能實現與UNIX的交互了。
下面通過一個例子來說明SSHLibrary的用法。
例子實現的功能如下:
1.登錄一臺遠程unix服務器。 10.2.2.233
2.執行bash
3.切換到 /userhome/lucas/config目錄下
4.執行程序 testTux
5.在/userhome/lucas/log下取得日志文件 tux_log.001到本地目錄d:\tux_log.001
6.退出登錄。
編寫腳本(推薦使用Ride,這樣可以減少拼寫錯誤,并且用例在Ride中顯得更清晰) 紅色字為注釋:
Open Connection 10.2.2.233 #None 22
Set Timeout 0minutes 3 seconds
Set Prompt None
Login username password
Write bash
Read Until > INOF 使用了一個技巧,見到>就說明輸出完了。
Write cd /userhome/lucas/config
Read Until > INFO
Write testTux
Read Until > INFO
Get File /userhome/lucas/log/tux_log.001 d:\tux_log.001 注意使用絕對路徑
Close All Connections
保存為腳本 testSSH.txt
直接運行pybot testSSH.txt ,十幾秒鐘后,測試報告和日志就生成了。我們可以通過查看他們來獲知用例的運行結果。
更多的關鍵字可以參考SSH的Library庫說明文件。
http://robotframework-sshlibrary.googlecode.com/svn/tags/robotframework-sshlibrary-1.0/doc/SSHLibrary.html
原文轉自:http://www.anti-gravitydesign.com