bot Framework是一個強大的自動化測試框架,依靠社區(qū)力量編寫的Test Library為它提供了非常強的擴展性。下面我將介紹的就是如何使用第三方提供的擴展測試庫(Test Library)來遠程登錄Unix贾漏,并在上面做常見操作。
環(huán)境準備(W32環(huán)境下):
1.首先我們得擁有Robot Framework的運行環(huán)境键俱。
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
安裝前準備:
----------------------------------------------------------------------------
Pybot版本:
a.在安裝SSHLibrary以前,我們需要安裝它的支撐庫Paramiko
實際上真正實現訪問Unix功能的軟件是paramiko挎春,SSHLibrary是按照Robot Framework的擴展測試庫標準對 ? ? Paramiko進行的封裝看疙。
Paramiko的首頁http://www.lag.net/paramiko/
我們在頁面的下載部分下載paramiko-1.7.7.1.zip解壓后執(zhí)行: setup.py install ? ?安裝。
注意要如果有多個python版本直奋,必須安裝到與RobotFramwork一致的版本上能庆。
windows下的多版本管理可以參照下貼:
http://hi.baidu.com/yobin/blog/item/f28af43650ec0f370a55a9d5.html
b.paramiko依賴另一個庫,這個庫提供SSH所需的數字簽名算法脚线,這個庫是PyCrypto搁胆,需要單獨 ? 安裝。pyCrypto也是python寫的,可以用 setup.py install 命令安裝渠旁。
---------------------------------------------------------------------------------------------------------------
Jybot版本:
點擊Trilead SSH for Java下載攀例。
加入你環(huán)境變量中的 ”Classpath “ 項中去。這樣Jython才能識別它顾腊。
---------------------------------------------------------------------------------------------------------
安裝準備完畢粤铭。
完成安裝準備工作,我們就可以安裝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為我們隱去了很多細節(jié)(如使用DSA捷泞,RSA建立加密信道等)足删,僅僅通過幾個關鍵字就能實現與UNIX的交互了。
下面通過一個例子來說明SSHLibrary的用法锁右。
例子實現的功能如下:
1.登錄一臺遠程unix服務器。 10.2.2.233
2.執(zhí)行bash
3.切換到 /userhome/lucas/config目錄下
4.執(zhí)行程序 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
SetPrompt ? ? ? ?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.001d:\tux_log.001注意使用絕對路徑
Close All Connections
保存為腳本 ?testSSH.txt
直接運行pybot ?testSSH.txt ,十幾秒鐘后狼犯,測試報告和日志就生成了余寥。我們可以通過查看他們來獲知用例的運行