使用Robot Framework框架遠程操作UNIX系統

發表于:2012-03-07來源:Csdn作者:lxg0618點擊數: 標簽:Robot Framew
Robot Framework是一個強大的自動化測試框架,依靠社區力量編寫的Test Library為它提供了非常強的擴展性。下面我將介紹的就是如何使用第三方提供的擴展測試庫(Test Library)來遠程登錄Unix,并在上面做常見操作。 環境準備(W32環境下):

  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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97