實驗:Robot Framework(二):基礎應用

說明:本實驗主要針對Robot Framework的基礎功能進行了介紹並全程演示。當然,前提是我們需要對Selenium WebDriver有一個基本的理解,同時下載作者的Agileone 1.2的版本(需要安裝配置在Xampp 1.6.8的版本中),如沒有這些前提條件,下述實驗將無法正常完成。

當安裝配置完RobotFramework後,啟動Ride,現在我們來完成一個簡單的測試腳本,以確保整個過程運行通過,沒有明顯的問題。請按照如下步驟完成:

1. 在「File」菜單下點擊「New Project」新建一個測試項目,此處我們命名為「RFDemo」。並指定默認文件類型,如下圖所示。

2. 選中「RFDemo」,在右邊主窗口中,點擊「Library」,在打開的對話框中輸入「Selenium2Library」,並點擊確定,如果「Selenium2Library」已經正常安裝,那麼將會在主窗口中正常顯示。否則,會以紅色顯示錯誤。

3. 導入Selenium庫成功後的界面。

4. 在「RFDemo」上點擊右鍵「New Test Case」新建一個測試用例,此處命名為「AgileoneLogin」。在右邊窗口手工輸入下面的關鍵字和參數,完成第一個RF測試腳本:

5. 最終,我們可以在測試用例的「Text Edit」視圖下看到的腳本如下圖所示。該測試腳本保存在我們最開始創建項目時指定的文件目錄下,且後綴名為:「.robot」。

*** Settings ***Library Selenium2Library *** Test Cases ***AgileonLogin [Documentation] 這是專門用於測試Agileone系統的登錄功能的腳本。 [Tags] Agileone # Agileone Open Browser http://localhost/agileone firefox Wait Until Element Is Enabled id=username Input Text id=username admin Input Text id=password admin Click Button id=login Sleep 3s 等待頁面載入完成 ${value} Get Text id=myproject Should Contain ${value} Agileone *** Keywords ***

6. 執行測試腳本

當我們點擊「Tools」菜單下的「Run Tests」,便可以正常運行該腳本。此處需要注意的是,由於Firefox版本的原因,目前Selenium 2.53.6的版本只能支持到Firefox 47及以下版本。如果我們需要測試的是更新版本的Firefox,與Selenium WebDriver一樣,需要安裝GeckDriver才可以,但是Selenium3.X目前的兼容性也有待提高,所以建議先使用2.x版本,待後續功能層面穩定後再進行移植即可,這一點我們在使用WebDriver時已經感受到了其新版本的不穩定。執行後的結果窗口如下圖所示。

7. 在結果窗口中,我們可以看到關於成功或失敗的日誌信息。同時,我們也可以看到保存當前測試報告的文件路徑,我們可以複製上述的HTML日誌文件路徑並在瀏覽器中打開,路徑格式大致為「c:usersdennyappdatalocal empRIDElsbtb6.dlog.html」,可以看到如下的結果:

如果我們的腳本運行有錯誤,該測試報告中也會以紅色顯示出錯的代碼行。

8. 查看關鍵字及用法

此時大家一定在思考一個問題,我怎麼知道RF中到底有哪些關鍵字呢?它們的具體用法和參數又是怎樣的呢?事實上,RF有內置庫和擴展庫。在同一個測試用例腳本中,我們可以隨時使用內置庫的關鍵字,如果要使用擴展庫,則必須在創建的測試項目中先導入該庫,導入後方可使用庫中所帶的關鍵字。

當我們在書寫測試用例關鍵字時,當我們不清楚關鍵字列表及功能時,可以隨時按快捷鍵「F5」打開關鍵字搜索窗口,搜索或瀏覽當前載入的庫中所有的關鍵字。

通過搜索,並查找到相應的關鍵字後,我們便可以正常使用並且傳遞對應的參數了。好在這些關鍵字都是標準的見文識義,我們很容易通過其關鍵字名稱來獲得其作用。同時,在關鍵字的下方的說明中也提供了很詳細的介紹,並且很多關鍵字也為我們提供了樣例供使用時參數,非常的方便。而且很多操作跟Selenium IDE也很類似,所以相信大家並不會陌生。由於本書的重點並不在這些關鍵字的詳細講解上,所以此處不再贅述,給大家說明使用方法即可。

9. 使RF腳本在IE上運行

就像在WebDriver中我們可以通過載入不同的驅動程序來讓Selenium的測試腳本運行於不同的瀏覽器上一樣,在RF的Selenium關鍵字型檔中,也同樣支持其測試腳本運行於不同的瀏覽器之上。在這裡我們只需要做兩步操作即可:

(1) 將IEDriverServer.exe驅動程序複製到系統的默認PATH路徑中,此處我們可以直接複製到Python的安裝目錄中,因為本身這個目錄就位於環境變數PATH中。(2) 將上述測試腳本的第一行,修改為「Open Browser http://localhost/agileone ie」即可。關於RF默認所支持的瀏覽器類別及關鍵字寫法,大家可以參考關鍵字「Open Browser」的用法說明。

10. 直接運行.robot文件

到目前為止,我們所有的運行均通過Ride完成,操作當然是很方便的。但是如果我們要更好進行持續集成的話,或者通過其它程序來自動運行RF腳本的情況下,我們其實更希望能夠直接通過命令行來完成運行,而不是通過Ride界面。其過程也非常簡單,我們只需要運行如下命令即可:

Robot Framework的基礎功能使用主要就這些,讀者朋友可根據上述操作一步一步來完成本實驗。

附系列文章鏈接:

實驗:Robot Framework(一):安裝配置

實驗:Robot Framework(三):Web頁面GUI測試

實驗:Robot Framework(四):HTTP協議級介面測試

註:本文為蝸牛學院資深技術屌絲鄧強老師原創,原文鏈接 bossqiang.com/article/2,轉載請私聊本號獲得授權。希望繼續在IT行業突破提升自己的各位朋友,也歡迎加群384053806,不管你自我感覺牛不牛B。


推薦閱讀:

Jmeter測試移動介面性能--持續集成
【Bugly乾貨分享】那些年我們用過的顯示性能指標
如何做一份精緻的性能測試報告?
吞吐量、丟包率性能測試疑問,網路設備(如路由器、防火牆)性能測試時,按照RFC2544文檔描述,如下?
5天2億活躍用戶,2017QQ「LBS+AR」天降紅包活動後台揭密

TAG:软件测试 | 性能测试 | 自动化测试 |