RobotFrameWork Web自動化測試環境搭建
前言
Robot Framework是一款python編寫的功能自動化測試框架。具備良好的可擴充套件性,支援關鍵字驅動,可以同時測試多種型別的客戶端或者介面,可以進行分散式測試執行。主要用於輪次很多的驗收測試和驗收測試驅動開發(ATDD),支援python,java等程式語言(百度百科)。功慾善其事必先利其器,在學習RF之前同樣需要搭建開發環境,包括執行環境的搭建,web自動化測試環境的搭建,所以今天會講解3種RF測試環境的搭建--RIDE,Pycharm及Eclipse,你可以根據自己的喜好選擇使用哪種環境做RF自動化測試
python安裝
由於我們主要使用python環境開發RF指令碼,因此python的安裝是必不可少的,但是今天不過多介紹,網上教程很多,安裝過程也很簡單
瀏覽器驅動安裝
瀏覽器及瀏覽器驅動的安裝是做web自動化測試必不可少的部分,當然,這裡還是省略配置步驟,網上教程依然很多,提供一個下載Chrome驅動的連結
https://npm.taobao.org/mirrors/chromedriver
RIDE環境配置
安裝RIDE
RIDE一般是初學者習慣使用的開發RF指令碼的一個工具,具有圖形化的介面,使用簡單,無需手動編寫python程式碼,學習成本比較低,而且安裝很簡單!
開啟CMD,執行 pip3 install robotframework-ride命令即可
安裝完RIDE後,我們開啟python的安裝目錄下的Script目錄,會發現多了一個ride.py和robot.exe檔案
ride.py就是RIDE GUI的啟動程式,我們可以雙擊啟動一下看看是否能夠開啟RIDE的GUI介面,如果開啟後出現下面的介面,說明RIDE工具已經安裝成功了,是不是很簡單?
疑問
1. 有的同學可能會有個疑問,為什麼網上找的教程那麼複雜,還要安裝wxPython,robotframework庫?
答:如果使用RIDE工具,以上的依賴庫確實需要安裝,因為RIDE GUI是wxPython實現的,而使用RF框架又要依賴robotframework庫,我這裡沒有單獨安裝,是因為在安裝robotframework-ride的時候,pip已經給你安裝好了這些依賴^-^,不信可以看看前面的截圖,如果你再安裝過程種沒有自動安裝依賴環境,那麼就手動使用pip命令安裝一下這幾個庫即可
2. 安裝完RIDE,但是打不開GUI頁面,怎麼辦?
答:因為執行ride.py需要使用python直譯器,設定一下ride.py檔案的執行方式為python的直譯器即可
安裝seleniumlibrary
seleniumlibrary庫是基於selenium做的二次封裝庫,主要針對RF使用的版本,因此需要安裝才能使用RF實現web自動化測試
開啟CMD執行pip3 install robotframework-seleniumlibrary命令即可
同樣,在安裝這個庫的時候,selenium同樣會被自動安裝,因為robotframework-seleniumlibrary是基於selenium封裝的,針對RF框架實現web自動化測試的依賴庫
ok,到目前為止,所有的環境都已經安裝完成,我們可以寫一個簡單的指令碼測試一下環境是否存在問題
環境測試
具體指令碼如何編寫,這裡不做介紹,我只寫了一個開啟瀏覽器訪問百度首頁的一條指令碼
如果你看到以下輸出資訊並且瀏覽器被成功開啟那麼說明你的環境已經搭建成功,可以學習如何使用RF編寫自動化測試指令碼了
執行結果
小結
RIDE對於初學者,使用起來還是比較方便的,可以檢視關鍵字的使用,編寫指令碼可以通過填寫表格的方式完成,也可以直接編寫程式碼,但是沒有智慧提示,也不會自動補全程式碼,寫起來比較累
Pycharm環境配置
作為一個專注於python語言的開發者,最喜歡使用的IDE首選就是pycharm,因為他功能強大,比如除錯、語法高亮、Project管理、程式碼跳轉、智慧提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高階功能,以用於支援Django框架下的專業Web開發,那麼長時間以來,你可能會形成一種依賴,不管做什麼開發都希望使用pycharm,因為你已經足夠了解它並且愛上它,那麼做RF自動化能不能使用pycharm訥?當然,這麼強大的工具幹啥不行訥?接下來我們就講解以下如何使用pycharm搭建RF的web自動化測試環境
使用pycharm配置RF做web自動化測試之前,同樣需要安裝selenium,robotframework,robotframework-seleniumlibrary,瀏覽器及瀏覽器驅動,不需要robotframework-ride,你可以按照以下方式安裝
pip3 install selenium
pip3 install robotframework
pip3 installl robotframework-seleniumlibrary
由於我上面在配置RIDE的時候已經安裝過了,所以接下來就不需要再安裝這個幾個庫了
pycharm安裝
安裝步驟這裡也不再贅述,百度一堆一堆,破解方法也一堆一堆
安裝intelliBot外掛
這個外掛主要為了Pycharm能夠識別RF指令碼及編寫執行RF指令碼
開啟Pycharm-點選右上角【File】-選擇【Setting】-點選【Plugins】
搜尋框輸入intelliBot,點選上圖中的Install,等待安裝完成
注意:安裝完外掛之後需要重啟pycharm
配置RF的檔案型別識別
同樣開啟【Setting】-選擇【Editor】-點選【File Types】-在右側檔案列表中找到【Robot Feature】,並新增RF指令碼所有的檔案型別
配置完儲存即可
Suite和Case的執行配置
因為RF框架編寫的測試指令碼是無法使用python直譯器執行的,它有自己的執行指令碼程式robot.exe,這個程式再執行pip3 install robotframework 時自動安裝,存在於python安裝目錄的script目錄下
配置Suite
開啟pycharm的設定-選擇【Tools】-選擇【External Tools】,右側視窗點選【+】號並填寫如下配置資訊
name:可以隨意取名字,但是最好還是按照圖片中的名字寫,見名知意
Program:robot.exe程式所在的目錄
Arguments:-d 指定存放報告的目錄名 報告名字(系統自動命名的報告名)
Working directory:當前的專案目錄
配置完成後儲存
配置Case
同上步驟設定,填寫如下圖的配置資訊
Arguments:-t 後面表示執行滑鼠選中的測試用例(注意:需要選中測試用例名,而不是把滑鼠放到用例名上)
執行用例
配置完以上環境後,專案中選擇某個測試套件或者套件中選中單個測試用例名,右鍵選擇【External Tools】-選擇對應執行方式即可執行測試用例或套件
環境測試
同樣使用pycharm編寫一段開啟瀏覽器,訪問百度首頁的指令碼,然後分別選擇執行測試套件和執行單個測試用例,看一下是否成功
指令碼
*** Settings *** Library SeleniumLibrary *** Test Cases *** 開啟瀏覽器 SeleniumLibrary.Open Browser https://www.baidu.com Firefox
當執行指令碼時,如果你看到瀏覽器正常開啟,且輸出的資訊中測試用例或者套件全部通過,表示環境配置成功
小結
通過圖片,你可以發現,pycharm並不會自動識別RF中的一些庫(不識別的都帶紅色波浪線),那麼就無法智慧提示,也無法檢視RF中關鍵字的用法,所以總體來說,使用pycharm編寫RF指令碼更累,無法識別程式碼寫的對與錯,只能通過報錯資訊排查,當然對於完全掌握了所有關鍵字的大佬可以使用它或者完全不使用系統的關鍵字而只使用自己通過python程式碼實現的關鍵字的情況可以使用
Eclipse環境搭建
單獨搭建Eclipse整合RF做web自動化測試之前, 同樣需要安裝selenium,robotframework,robotframework-seleniumlibrary,瀏覽器及瀏覽器驅動,不需要robotframework-ride
安裝JDK
Java JDK真是無處不在,這裡也不講解JDK安裝過程了,相信對所有開發人員來說,JDK的安裝已經是必不可少的了
安裝Eclipse
下載
https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2018-12/R/eclipse-java-2018-12-R-win32-x86_64.zip&mirror_id=105
我下載的是4.10版本的,Eclipse配置RF最好選擇Mars(Eclipse版本代號)4.5以上
下載完成後解壓到指定目錄,然後雙擊執行Eclipse.exe並設定一個工作目錄即可執行Eclipse編輯器
安裝robotframework-ide
robotframework-ide就是RED,是Eclipse執行RF和編寫RF指令碼的外掛,以下連結是RED官網
https://github.com/nokia/RED
官網介紹了配置Eclipse的RF的方法,可以參考一下
開啟Eclipse-選單選擇【help】-點選【install new software】-點選【Add】
name:隨便輸入
location:輸入 http://master.dl.sourceforge.net/project/red-robot-editor/repository
add之後會出現以下頁面
直接一路Next,安裝過程會提示重啟Eclipse,重啟即可
配置python版本
重啟後需要配置一下安裝了robotframework的python直譯器
開啟【window】-選擇【preferences】
這裡的直譯器會自動識別出來,如果不會自動識別,可以點選add手動新增,接下來點選【Apply and Close】即可
配置RF的標識,變數,關鍵字自動補全
點選【windows】 - 【preference】 - 【RobotFramework】 -【 Editor】 - 【Content Assitant】加上如下內容:
.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*
修改Eclipse中文編碼
配置python直譯器
如果你不打算使用Eclipse編寫執行python指令碼,那麼你可以跳過此步驟,但是如果你後期想使用python開發關鍵字,那麼可以選擇安裝,Eclipse編寫python直譯器,需要依賴pyDev外掛
安裝pyDev
原裝RED的方式相同,開啟Eclipse-選單選擇【help】-點選【install new software】-點選【Add】
name:隨便輸入
location:輸入 http://pydev.org/updates
一路Next,等待安裝完成,安裝時會提示重啟Eclipse,選擇重啟即可
重啟後,點選【windows】 - 【preference】 - 【PyDev】 -【 Interpreters】 - 【Python Interpreter】按照下圖設定python直譯器
點選【ok】,彈窗後選擇對應目錄
點選【ok】之後等待載入完畢,儲存所有的操作,接下來就可以使用Eclipse建立python專案,編寫python程式碼了
環境測試
接下來我們就可以編寫指令碼驗證一下我們的環境是否存在問題了,如何新鍵RF專案,編寫RF指令碼這裡先不講解,我還是使用之前編寫的指令碼,開啟火狐瀏覽器訪問百度首頁來驗證環境,如果環境沒問題你會看到如下輸入
總結
目前為止所有的能夠編寫RF指令碼的3種環境都已配置完成,3個環境各自有各自的優缺點
RIDE:適合初學者,不喜歡寫程式碼或者對程式碼不是很精通的測試人員,主要以填寫表格的形式開發指令碼
Pycharm:pycharm對RF指令碼的支援不是很好,這也不能怪pycharm,因為配置RF的外掛不給力,沒那麼多功能,使用起來不太友好
Eclipse:對於Eclipse來說,它的RF外掛(RED)比較強大, 既可以支援表格形式編寫指令碼,又可以使用純程式碼的方式編寫指令碼,支援程式碼自動補全,高亮顯示,最主要一點可以檢視所有的關鍵字的幫助文件,並且對於喜歡直接寫RF指令碼程式碼的同學來說,使用起來很友好
相關連結
RF官網:https://robotframework.org/ 以上所有的環境配置過程及外掛你都能再官網找到
RED官網:https://github.com/nokia