Robot Framework 安裝使用
Robot Framework 的安裝配置和簡單的例項介紹
Robot Framework 介紹
Robot Framework 是一款基於 Python 的功能自動化測試框架。它具備良好的可擴充套件性,支援關鍵字驅動,可以同時測試多種型別的客戶端或者介面,可以進行分散式測試執行。主要用於輪次很多的驗收測試和驗收測試驅動開發(ATDD)。
在我們進行全球化測試的時候可以用此框架來編寫一些指令碼任務,如定時下載 daily build , 配合 Selenium 完成自動化截圖等,來方便我們的測試。
Robot Framework 的安裝和配置
在使用 RF(Rebot framework)的時候需要 Python 或 Jython 環境,具體可根據自己的需求來確定。本文以在有 Python 的環境的機器上安裝和使用 RF 為例。
在配置過程中需要安裝如下包:python 2.7、wxPython、robot framework、robot framework ride、robot framework selenium library。
安裝 Python 2.7
RF 框架是基於 Python 語言的,所以一定要有Python 環境。可以通過下面的下載頁面下載對應的 Python 版本。
下載完成後,選擇預設項進行安裝。
安裝完後,需要設定環境變數:計算機—屬性—高階系統設定—環境變數—系統變數—Path,寫入 C:\Python27 和 C:\Python27\Scripts(更改為您指定路徑即可)。
(環境變數必須配好,否則後續需要的pip等命令不生效)
同時我們也可以通過 DOS 環境來驗證安裝的 Python 資訊。
安裝 WxPython
在選擇版本下載的時候要注意選擇與 Python 版本對應的版本,並且選擇 unicode 版本,比如版本:wxPython2.8-win32-unicode-py26.exe,否則安裝完成後不能支援中文。
(本人安裝過程中遇到的情況是,下載64位的wxPython安裝後不匹配,必須安裝32位的wxPython才能適配,此情況非個例!)
下載完成後,選擇預設項進行安裝即可。
安裝 PyCrypto
選擇對應的 pycrypto installer 版本,進行預設安裝。需要在安裝庫(如 SHHLibrary)之前進行安裝,否則會出現錯誤“Can't find vcvarsal.bat”。
安裝 Robot Framwork
解壓後,執行命令“python setup.py install”進行安裝。進入 Python 的安裝路徑,執行命令“pipinstall robotframework”。
安裝 robotframework-ride
進入 Python 的安裝路徑,執行命令“pip install robotframework-ride”。
安裝需要的 Library
如 selenium2library ,archivelibrary,SSHLibrary ,ftplibrary 等。進入 Python 的安裝路徑,分別執行以下命令:
清單 1. 安裝 Test Library
線上安裝:
pip install robotframework-selenium2library
pip install robotframework-archivelibrary
pip install robotframework-SSHLibrary
pip install robotframework-ftplibrary
pip install pip2pi
pip install robotframework
pip install robotframework-ride
pip install robotframework-requests
pip install robotframework-jsonlibrary
pip install robotframework-jsonschemalibrary
pip install robotframework-redislibrary
pip install robotframework-databaselibrary
pip install robotframework-sshlibrary
pip install psycopg2
pip install pymysql
pip install redis
rem pip install hbasepy
pip install selenium
pip install robotframework-selenium2library
pip install robotremoteserver
完成以上步驟後,RobotFramework 的安裝工作已經完成,可以通過執行命令“pip list”檢視已經安裝的產品,如圖 1 所示:
圖 1.RobotFramework 安裝產品列表
RIDE 編輯器介紹
RF 是通過 RIDE 編輯器進行工作的,安裝成功後,執行命令“[PythonDir]\Scripts\ride.py”,就可以開啟 RIDE 編輯器,如圖 2 所示。開啟之後就可以進行建立測試專案,建立測試用例等操作,在後面的例項講解中有具體步驟。
圖 2.RIDE 編輯器啟動介面
建立測試專案
選擇選單欄 File —>New Project,輸入專案名稱,選擇 Directory type,選擇目錄。
圖 3. 建立測試專案
建立測試套件
右鍵點選剛建立的測試專案,選擇 New Suit,輸入 name , 選擇 File type。
圖 4. 建立測試套件
建立測試用例
右鍵點選剛建立的測試套件,選擇 New TestCase,輸入名稱。
圖 5. 建立測試用例
匯入庫
在實際專案中,我們需要運用 RF 框架編寫基於 web 的測試用例,我們需要 Selenium 的庫支援。所以,我們在使用的過程中需要載入 selenium2library 庫。
圖 6. 匯入測試庫
在“測試套件”的 Edit 標籤頁,點選“Library”按鈕,彈出輸入框,Name 輸入:Selenium2Library ,點選 OK 完成。
如果匯入的庫顯示為紅色,表示匯入的庫不存在。如果是黑色則表示匯入成功。
編寫測試用例
可以通過快捷鍵 F5 來查詢指令碼的關鍵字。以開啟瀏覽器為例,輸入關鍵字“open”進行搜尋,查詢到一個“Open Browser”的關鍵字,點選這個關鍵字,就出現了它的用法和說明,如圖 7。
圖 7.Search Keywords
熟悉這個關鍵字用法之後,可以在 test case 裡面進行嘗試。“Open Browser”顯示藍色,說明它是一個合法的關鍵字,後面為紅色說明需要輸入一個引數,從其用法可知,需要輸入 URL。更多關鍵字的用法可以熟悉 API 檔案。
圖 8.keywords 例項
編寫測試用例的時候還可以選擇新增變數。變數是 RF 的常用的功能,它能在測試資料的大多數地方使用。主要有以下幾種:
標量變數:語法 ${scalar }。當在測試資料中使用標量變數時,它們將被分配的值所代替。
列表變數:語法 @{LIST}。列表變數是複合變數,可以分配多個值給它。
數字變數:變數語法可以用來建立一個全是整型和浮點型的數字:整型${80}、浮點型${3.14}。
Boolean 變數:${true/false}。
Null/None 變數:${null/None}。
空格${SPACE} 和空${EMPTY} 變數等。
圖 9. 新增變數
執行測試用例
以上幾步完成後,就可以在 Run 頁面,進行執行,並檢視結果,具體如圖 10 所示:
在執行完測試之後,也可以進行檢視 log 檔案等操作。
圖 10. 執行測試用例
簡單的測試用例的編寫
安裝完成 RF 之後,通過 RIDE 編輯器的介紹,對 RF 的工作原理有一定了解之後,在這一部分主要給大家介紹一個簡單的例項:從伺服器上下載指定的檔案。
首先按照上面的步驟來進行:建立專案---->建立 Test Suite---->建立 Test Case。
建立專案
選單 File -> New Project,在彈出“New Project”對話方塊選擇 Type 為 Directory,然後填寫 Name,點選 OK 按鈕。
建立 Test Suite
在已建立的專案上點選滑鼠右鍵,選擇 New Suite,在彈出“Add Suite”對話方塊中選擇Type 為 File,然後填寫 Name,點選 OK 按鈕。
新增所需的庫檔案,選定 Suite 然後點選右邊 Library 按鈕,在彈出對話方塊的 Name 後輸入 FtpLibrary 並點選 OK 按鈕,新增其他 Library 也是如此,具體如圖 11 所示:
圖 11. 新增 Library
新增所需的變數,選定 Suite 然後點選右邊 Add Scalar 按鈕,在彈出對話方塊的 Name 後輸入變數名,注意變數的結構是${name}or @{name},在 Value 後輸入變數的值。
圖 12. 新增變數
建立 Test Case
在已建立的 suite 點選滑鼠右鍵選擇 New Test Case,在彈出對話方塊的 Name 填寫 Name,點選 OK 按鈕。
至此,專案已經建立好了,Suite 建立了也添加了所需要的 Library,Test Case 也建立好了,接下來就可以在 Test Case 裡編寫測試用例了,也就是在表格輸入關鍵字和引數或變數。
圖 13.TestCase 例項
注:在圖中表格里的藍色字型是庫中的關鍵字,綠色字型是變數,黑色字型是系統自帶關鍵字。
下面對 OnPremise 這個 test case 進行解釋。
圖 14.OnPremise--連線 FTP 伺服器
目的:連線 FTP 伺服器。
通過關鍵字 ftp connect 以及引數,包括使用者名稱${uname_ftp_server} 和密碼${pwd_ftp_sever},來連線 FTP 伺服器${build_ftp_sever},並設定超時時間為 300 秒。
圖 15.OnPremise--記錄當前路徑
目的:記錄當前路徑。
Cwd 關鍵字切換並進入所需路徑${path_ftp_server},然後通過 Pwd 輸出當前路徑並儲存到變數${output}中。
圖 16.OnPremise--建立本地資料夾
目的:建立本地資料夾,用來存放下載的檔案。
由於伺服器路徑目錄是以日期結束,將此通過 Split String From Right 關鍵字分離出來並儲存到${currentBuildLevel},最後生成完整路徑${currentDestination},並通過 CreateDirectory 關鍵字來建立目標資料夾。
圖 17.OnPremise--下載所有所需的檔案
目的:下載所有所需的檔案。
需要下載的檔案不止一個,可通過 FOR 迴圈在列表變數 @{targetFiles} 中分別取出目標檔名,再通過 Download File 關鍵字來逐一下載並儲存到${currentDestination} 路徑下。
總結
Robot framework 關鍵字自動化框架,它擁有強大而豐富的 Library,以及簡單易用的關鍵字方式的使用,可以很好地支援全球化測試部門的測試工作,從而減少編寫程式碼的時間同時也大大地提高了工作效率。相信通過對 Robot framework 關鍵字自動化框架更深的使用和了解,將不僅僅只是幫助自動下載檔案,也會在更多更廣的方面帶來越來越多的益處。
分類: LINUX
其實我不喜歡動不動就框架,動不動就架構,整出一坨專業術語搞的玄而又玄,讓人云山霧繞,我想做的事情很簡單,自動地測試我的多個程式,更友好的顯示出我的程式的測試結果。
當我的程式比較少的時候,我可以手工的執行測試程式,察看結果。但是如果的程式多了之後,我不能天天手工去執行,這樣的話,太費時了,而且,通過不通過還要自己去看 $?. 有人說,你寫好的程式,不改動,為啥天天測一遍。實際情況是,有時候我會改這些程式,對外介面不變,內部實現有時候會改動,我希望有一個工具能夠每天幫我測試一遍所有的程式碼,把最終的結果用更友好,更可讀的方式呈現出來。
我的同事Kai,做了很多這方面的學習研究工作,我向他討教了一些經驗,昨天晚上和今天早上自己學習了下,給自己搭建了一個robot framework的框架。很多東西我也不懂,現在還是入門級別的水平,想深入學習的筒子請移步 robot framework ,去獲取更過詳細的資訊。
第一步: 安裝python
1. [email protected]:~/code/c/self/hello# python -V
2. Python 2.7.3
我就不多說了,如果裝不上python,後面內容也不需要看了。
第二步: 安裝 robotframework
下載地址:http://code.google.com/p/robotframework/downloads/detail?name=robotframework-2.7.5.tar.gz
1. tar zxvf robotframework-2.7.5.tar.gz
2.
3. cd robotframework-2.7.5
4.
5. python setup.py install
第三步:安裝robotframework-seleniumlibrary
這步驟應該是可選的,這是一個web test library。當時我同事建議我裝上我就裝上了,具體作用我自己也不明瞭。
下載地址:http://code.google.com/p/robotframework-seleniumlibrary/downloads/list
1. tar -zxvf robotframework-seleniumlibrary-2.9.1.tar.gz
2.
3. cd robotframework-seleniumlibrary-2.9.1
4.
5. python setup.py install
整個robot framework的框架搭建是非常簡單的,這也是這個東西的優勢。如果巨複雜,誰願意用啊?
下面是關鍵部分,我用我前段時間寫的紅黑樹的測試程式碼作為例子。我的紅黑樹有測試程式碼:這些程式碼不需要看,我測試了建立,插入,刪除這幾個介面。這個測試程式會編譯成可執行程式,如果測試通過,返回0,如果出現異常,或者返回值是其他值,或者乾脆就段錯誤了,也會被robotframework捕獲到,最終生成結果報告。
下面開始詳細步驟:
1 建立一個auto_test的目錄,將來我們的測試指令碼都會放在這個下面。
1. mkdir ~/auto_test
2 為rb_tree 這個程式建立一個測試程式碼坐在的目錄
1. cd ~/auto_test
2. mkdir rb_tree
3 寫測試指令碼:
1. [email protected]:~/auto_test/rbtree/library# cd ..
2. [email protected]:~/auto_test/rbtree# ll
3. 總用量 16
4. drwxr-xr-x 3 root root 4096 12月 23 13:48 ./
5. drwxr-xr-x 4 manu root 4096 12月 23 13:15 ../
6. drwxr-xr-x 2 root root 4096 12月 23 13:49 library/
7. -rw-r--r-- 1 root root 481 12月 23 13:48test_rbtree.txt
8. [email protected]:~/auto_test/rbtree# ll library/
9. 總用量 12
10. drwxr-xr-x 2 root root 4096 12月 23 13:49 ./
11. drwxr-xr-x 3 root root 4096 12月 23 13:48 ../
12. -rw-r--r-- 1 root root 100 12月 23 13:38test_rbtree.py
我們看下test_rbtree.txt的內容:
上面這種格式是robot framework支援的三種文件格式之一。這三種格式是
1 HTML ,不多說。
2 TSV格式 ,這個我沒用過,我也不懂,不多說
3 純文字格式,比如說我這個test_rbtree.txt。(汗一個,總算有個稍懂一點的了)
官方文件裡面還提高了reST格式,這個咱也不懂。但是對這個感興趣的筒子可以去看官方文件,如果英語不過關的筒子可以去http://blog.sina.com.cn/s/blog_654c6ec70100zj6p.html 這個地址,這個博主寫了好多篇robot framework的文章。
一個test case 應該有四個部分組成,Setting,Variable,Testcase,Keyword,但是也不是必須的,比如我的test case 只有2個,Setting 和Testcase.
Setting 一般是告訴pybot 我的測試庫檔案在哪兒,比如我的測試程式碼就是library下的test_rbtree.py,一些資原始檔,變數檔案也會在這裡宣告,但是我們沒有這些。
其中Force Tags會在輸出結果中體現。我們起一個比較有意義的tag,比如紅黑樹是基本的資料結構,我所有的基本資料結構的tag都命名為 basic data structure 。 他們就能在輸出中聚在一起。
Test Cases 中test_rbtree表示我這一測試項的名字是test_rbtree,這個名字可以隨便起,沒關係。但是最好是能明確告知這個測試測的是什麼。
Argument這一列下面的test_rbtree表示的是function,必須出現在測試庫檔案裡面,就是在library/test_rbtree中必須要有test_rbtree這個function。
1. [email protected]:~/auto_test/rbtree#cat library/test_rbtree.py
2.
3. import os
4. def test_rbtree():
5. return os.system('/home/manu/code/c/self/rbtree/test')
我們這個測試項的名字是test_rbtree,執行library/test_rbtree.py裡面的test_rbtree 函式,將返回值給val變數,
判斷 val == 0,如果val ==0,表示測試通過,否則,測試失敗。
Should Be True 是Robot Framework 自動提供的。表示應該是表示式應該成立,如果不成立表示failed。
這就比較簡單了,簡單地說我們的一個測試例子就完成了,下面我們利用pybot生成報表。
我們可以看到,我們的測試例子通過了,同時生成了三個結果檔案。我們看下生成的report。
很好看吧。有人說,這是一個檔案的report。 其實很簡單,你在auto_test下面多建幾個類似的資料夾,然後對auto_test 執行pybot,他會將auto_test下的每個case都會跑到,生成一個總結果。
下面是一個有成功有失敗的例子,我故意將test_hello測試失敗。
當然了,我接觸robot framework的時間還短,很多東西不懂,需要在實踐中學習。 我先用起來,慢慢提高。希望路過的高手可以指點下。
相關推薦
Robot Framework 安裝
解決問題 總結 解決 環境 32位 pytho robot 都是 安裝 安裝 Robot Framework 時,總是出現各種狀況,在網上查閱好多資料,但大部分都不能解決問題,搗鼓了幾天,才終於把環境搭建好,總結來說,問題就是各種不兼容,一開始用的都是python 64位的
Robot Framework安裝部署詳細教程
記得 環境 get 錯誤提示 彈窗 語言 googl hive eap (轉自“義甬君”) Robot Framework安裝準備 說實話,在我玩了這麽多自動化工具後,感覺Robot Framework所需的環境和安裝過程是相對比較繁瑣和復雜的。要真正搭建一套可以使用的Ro
robot framework安裝問題排查
jpg 重新 selenium 得到 pip img 排查 技術分享 支持 現象:小朋友電腦啟動ride總會報錯 探討方向:重新安裝ride 對應包無法解決 解決思路: 1.完全卸載python及對應庫 2.安裝RFS 64對應文件,發現安裝各種庫都報錯,
Robot Framework安裝及配置
Robot Framework安裝及配置 需要按照的軟體有Python、WxPython、robot framework、robotframework-ride、robotframework-selenium2library。 RF 框架是基於 Python 語言的,本次安裝python
Robot Framework 安裝使用
Robot Framework 的安裝配置和簡單的例項介紹Robot Framework 介紹Robot Framework 是一款基於 Python 的功能自動化測試框架。它具備良好的可擴充套件性,支援關鍵字驅動,可以同時測試多種型別的客戶端或者介面,可以進行分散式測試執行
Jenkins + Robot Framework 安裝
檢查環境,安裝Python和RF 1. 檢視版本(適用於Center OS, redhat) [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Cor
Robot Framework安裝部署詳細教程(Windows7 64位)
Robot Framework安裝準備 說實話,在我玩了這麼多自動化工具後,感覺Robot Framework所需的環境和安裝過程是相對比較繁瑣和複雜的。要真正搭建一套可以使用的Robot Framework開發執行環境,需要以下: Pyth
最新 robot framework安裝
python2 新版本 href eclipse 試用 char 新版 cli ima 相信大家對robot framework並不陌生,它是一個基於Python語言,用於驗收測試和驗收測試驅動開發(ATDD)的通用測試自動化框架=,提供了一套特定的語法,並且有非常豐富的測
robotframework安裝和配置【轉IBM:https://www.ibm.com/developerworks/cn/opensource/os-cn-robot-framework/index.html】
pat 測試執行 href 鼠標 nat 測試部門 包括 自己 概覽 內容 概覽 Robot Framework 介紹 Robot Framework 的安裝和配置 RIDE 編輯器介紹 創建測試項目 簡單的測試用例的編寫 總結 相關主題 評論 R
Robot Framework+Selenium2Library自動化測試安裝與使用指南
RF一.安裝Python2.7(因RIDE不支持python 3.x)1.https://www.python.org/download/releases/2.7.8/2.安裝 (e.g. D:\Python27)環境變量:計算機-屬性-高級系統設置-環境變量PYTHON_HOME D:\Python27
Pycharm安裝robot framework運行插件
接下來 分享 ledir 選擇 tel 腳本 back style tca 1. 打開pycharm>點擊File>點擊setting>打開Plugins>點擊Browse reponsitories: 2. 打開後,輸入IntelliBot並
Robot Framework 以及 對應的庫安裝
import 輸入 說明 圖片 tps 底層 setup 安裝solr idg 說明:安裝robot framework之前需安裝python Robot Framework安裝 官方下載地址:https://github.com/robotframework/robotf
Robot framework框架安裝教程
1:安裝python 安裝python後,然後在path中新增環境變數D:\ProgramFiles\python\Python27\ 2:安裝pip工具 在cmd輸入:python setup.py install 然後在path中新增python路徑下的script目錄 3:安裝 p
robot framework-requests庫安裝問題解決
關於lib庫一定要區分大小寫 緊記 這幾天本想研究下用robotframework+HTTP library (Requests)來做介面測試(http協議), 安裝完Requests庫後,在RIDE裡匯入該庫時顯示是紅色,即匯入失敗(正常匯入應該顯示為黑色),網上也沒有搜尋到有用的
Robot Framework環境配置安裝指南
windows平臺 1、安裝Python2.7最新版本 官方下載地址:https://www.python.org/downloads/ 安裝方法,點選檔案,一路安裝即可。我裝在C盤根目錄下。 環境變數配置:在PATH中增加C:/python2.7和C:/python2.7/Scri
Robot Framework:環境安裝(python2)
前置條件:安裝python2.7,下載地址:https://www.python.org/downloads/ 安裝wxPython pip install wxPython 注意版本要對應python版本,否則執行python ride.py時會提示: wxPython not fo
robot framework學習筆記1之_環境安裝(win7)
glob 檢查 path 運行 完成 setup.py 國內 解壓 內容 一、簡介 Robotframework是基於Python的自動化測試框架。使用關鍵字驅動的測試方法,自帶豐富的庫函數可直接引用,可使用Java/Python進行功能庫擴展,測試用例使用TSV/HTML
關於robot framework 中selenium2library安裝
環境,win7 64位 python2.7下載原始檔,在cmd中用python setup.py install安裝https://github.com/robotframework/Selenium2Library發現不行重新下載 .exe, 直接雙擊安裝https://p
RFS(robot+framework+selenium)windows安裝步驟
1.雙擊執行ython-2.7.14.msi,選擇安裝路徑C:\Python27 一直點選下一步,直到安裝完成2.設定系統環境變數path中新增;C:\Python27;C:\Python27\Scripts;3.安裝robot framework 在cmd 命令中輸入pi
Pycharm安裝robot framework執行外掛(https://www.cnblogs.com/Lina-zhu/p/9081369.html)
1. 開啟pycharm>點選File>點選setting>開啟Plugins>點選Browse reponsitories:2. 開啟後,輸入IntelliBot並安裝,安裝後需要重啟才能生效.3.此時開啟指令碼,會發現不支援.txt的檔案,此時需要