RFS的web自動化驗收測試

RFS——RobotFramework+Selenium2library

第1講 菜單欄&工具欄

前一講已經看到咱們最新版本的工具界面了。html

我把RIDE的界面大體分了四個區域:菜單欄、工具欄、案例及資源區、工做區,以下圖python

 

菜單欄:RIDE全部的功能都在這裏面;瀏覽器

工具欄:比較經常使用的功能,能夠快捷操做;工具

案例及資源區:這裏將會是一個目錄同樣的樹形結構(當前目前是剛打開的樣子,裏面只有一個空的external resources)測試

工做區:這裏是咱們主要編輯案例,運行案例的操做區。ui

 

其實我一直在想,這個工具怎麼講你們更容易理解,最方便的應該是帶着實際的例子結合操做來說解,這個確定會有。不過我以爲仍是要對工具全面介紹一下先,固然對於菜單欄和工具欄,只是羅列功能描述,由於後面都會用到的;對於案例區和工做區,我會以實際案例進行講解。編碼

 

==菜單欄&工具欄==spa

這裏不少你們都熟悉的經常使用命令就不細說了。其實大部分的命令在後面的講解中還會出現的。因此每一個菜單裏我找點重點來講。.net

一、File 文件插件

 

Open 打開一個文件
Open Directory 打開一個目錄

對應工具欄這2個圖標:

 

 

Reload Directory 從新加載目錄

對應工具欄的圖標

這個功能是一個不錯的改進,在用0.42的時候還沒看到過,應該是最近新增長的。做用就是從新加載整個目錄(或者說工程)。

在0.42的時候我通常都是用截圖裏Exit上面的最近打開的工程這個來作用做從新加載。

Save和Save All,對應圖標:,應該不用細說了,你修改了多個文件,用右邊的圖標能夠所有保存。

 

二、Edit 編輯

這裏不少功能你們都很熟悉了,很少說了。

 

三、Tools 工具

 

Manage Plugins 管理插件
Search Unused Keywords 搜索沒有使用的關鍵字
Preferences 參數配置
Preview 預覽
Content Assistance 內容助手
Search Keywords 搜索關鍵字
View RIDE Log 查看RIDE日誌

 

Run Test Suite 運行Test Suite
Stop Running 中止運行

最後2個的對應圖標爲

經常使用的:最後2個確定經常使用。

另外我認爲比較經常使用的一個是F5-Search Keywords,對於咱們在寫案例的時候能夠方便的查找測試庫的關鍵字及其參數和樣例等。

另外一個是content assistance,不過這個功能有點不太方便,主要是快捷鍵,由於Ctrl+空格和咱們的中英文切換衝突了,而Ctrl+alt+空格又按着不太習慣。個人作法是把輸入法的Ctrl+空格改爲別的,這樣就可使用了。

這裏有個新增的功能Search unused Keywords=查找沒有用過的關鍵字,關鍵字多了之後可能會有些沒有用過的,這個能夠比較方便的查找。

 

四、Navigate 導航

後退和前進,能夠方便的在案例區進行跳轉,對應圖標

 

五、Run 運行(其實我以爲這個名字不太合適,8過我也想不出叫啥名字更貼切,功能能夠看下面的介紹)

 這個設置我沒怎麼用過,簡單研究了一下,就是能夠本身寫好一些命令行的語句,能夠直接經過菜單來運行。主要是針對經過命令行方式運行的一些命令,能夠自定義菜單。

好比下面我簡單配置了2個

再看run的菜單,就多了這2個了,能夠直接點擊運行。

點第二個運行一下看看,他直接在工做區增長了一個tab頁,運行結果也顯示在上面了,之後有空咱們再深刻研究這個。

 

六、Help 幫助

第2講 案例及資源區

這個區域是咱們案例結構設計的一個關鍵區域,這裏能夠清晰的看到咱們整個工程的結構。

還記得安裝篇裏的樣例麼?以前寫的比較簡略,如今咱們重頭作一遍。

一、首先,點擊File-New Project

靠左側不用怎麼說了吧,你的工程名、父目錄、建立路徑。

從Tpye上來講,分爲文件和目錄兩種,區別嘛,看你的工程定,若是內容很簡單,File類型的就能夠,若是內容較多,從方便管理的角度來講,選Directory的比較合適。

從Format上來講,分爲txt、tsv、html,比較推薦txt,便於維護和版本管理,後續的案例,咱們都是以txt爲默認選擇。

二、點擊OK以後,工程建立成功,你會在左側看到以下圖(雖然目錄有個+,不過裏面是空的,點了也沒用哈,不要覺得是程序問題微笑

三、在Test上點擊右鍵,看到彈出菜單

四、這裏有不少選擇,後面用到的時候再細說。這裏咱們選擇New Suite,創建一個測試套件

看到這個圖,比較一下和前面New Project的圖有區別麼?

其實,從根本上說,Project和Test Suite是同樣的,若是硬要區分一下的話,個人意見是目錄型的是Project,文件型的是Test Suite。

借用一下吳博PPT裏的關係圖來講明一下:

圖中,Project和Dir Test Suite是相同的,固然這裏的Project也是Dir的,若是是File Project,那麼他實際上是等同於File Test Suite。

做爲一個目錄型的Test Suite來講,他們下面能夠包含文件Test Suite或者目錄Test Suite,層級能夠很深。但咱們最終要用的TestCase只能在文件型的TestSuite下面。

你們能夠本身建立一些複雜的目錄結構來體驗一下Project、TestSuite和TestCase的關係,同時爲了印證我說的「Project 和Dir Test Suite是相同的」,你能夠找一個你建立的目錄型的TestSuite,使用RIDE的File下面的Open Directory打開你的這個目錄。你會發現他和Project是同樣滴~~同時,你在目錄型的TestSuite上點右鍵,是看不到新增 TestCase的選項滴得意

 

五、好了,這裏爲了演示,咱們選擇File類型的,點OK

 

六、在測試套件上點擊右鍵

七、這時候有了New TestCase了,咱們點擊New TestCase

 

八、起個名字,點擊OK

看到測試套件前面多了個*麼?這表示他是有了新的修改,尚未保存。咱們先保存一下。

九、既然我寫了這個區域的名字是案例及資源區,和案例有關係的主要內容咱們都添加了,下面咱們來添加一下資源。

在File下面或者在咱們這個區域內的目錄型圖標(包括Project和那個一直有的External Resources)上點右鍵,都有New Resource這個操做,咱們點擊它。

注:新版的RIDE的New Resource的位置調整到目錄型圖標那裏了,即Project上面。而External Resources只能用來Add Resource了。

 

十、點擊OK,咱們會看到這個資源出如今External Resources下面。

Resource和TestSuite最大的不一樣就是圖標上有個齒輪符號,另外就是顯示的名稱上多了擴展名 .txt

若是咱們等一下回到Windows目錄下看一下的話,其實TestSuite和Resource都是.txt的文件,固然,如今去看也看不到,由於他並無實際的建立這個文件。

 

十一、接下來咱們要添加齒輪,哦,是User Keyword,在新增長的res1.txt上點擊右鍵

選擇New User Keyword

 

十二、先無論Arguments,輸入名字打開瀏覽器,點擊OK

此時就會看到一個齒輪增長在res1的下面,此時咱們保存一下,而後到Windows目錄下看一看咱們的工程所在目錄

能夠看到res1.txt和測試套件.txt,都在裏面了。他們一個是Resource,一個是TestSuite。

從區別來看,Resource能夠看成是一個不能有TestCase的TestSuite,你能夠對比一下前面的右鍵菜單截圖,TestSuite只是多了一個New TestCase。

固然,Resource還多了一個Find Usages,這個功能的做用是找出這個Resource都在哪裏使用了,因此Resource只是沒有TestCase而已。

從圖標上看,Resource多了一個齒輪,而齒輪正是User Keyword的圖標,意思就是Resource是用來保存User Keyword的。雖然TestSuite下面也能夠新增User Keyword,可是咱們並不建議你們這樣作。首要的建議是:把User Keyword存放到Resource裏

 第3講 工做區EDIT-1

接着前面的來,從新打開咱們的RIDE,你會發現以前最後加的Resource的文件res1.txt不見了?實際上在Windows目錄裏仍是存在的。

 

主要的緣由是由於咱們沒有加載這個Resource。

一、首先看測試套件的。選擇測試套件後,看右側工做區的Edit頁

第一行的Source列出了這個TestSuite的路徑

接着有個Settings,如今是隱藏了內容的,點擊一下會顯示出具體的Setting,下一講專門介紹Settings。

再往下能夠大致分紅3個部分。

(1):加載外部文件

Add Library      :加載測試庫,主要是[PYTHON目錄]\Lib\site-packages裏的測試庫

Add Resource:加載資源,主要是你工程相關的資源文件

Add Variables:加載變量文件,這個沒怎麼用過,之後研究好了再發補丁文章。

(2):定義內部變量

Add Scalar:定義變量

Add List:定義列表型變量

(3):元數據定義

Add Metadata:定義元數據。我是直接翻譯的,這個是新增長的部分,大概看了一下做用是在report和log裏顯示定義好的內容,格式和document同樣。

 

咱們先把丟失的資源加上,點擊Add Resource,如圖

輸入完整的文件名:res1.txt,點擊OK。

看到這個藍色的帶連接的res1.txt就是加載成功了。若是路徑或文件名寫錯了這裏就是黑色的。

這時候再看左邊,就會發現咱們的res1.txt又出來了,而且以前的位置是在external resource裏,如今是在工程下面了。

這是由於咱們有一個TestSuite加載了resources,那麼他們就是一個project裏的了,因此會顯示在一塊兒。

 

二、對於project或者說目錄的TestSuite來講,他的工做區Edit頁和文件型的TestSuite基本是同樣的,區別只在於Settings裏。

Resources的工做區Edit其實和TestSuite差異也不大,就是沒有了metadata的部分,另外2個部分都有的。

 

三、對於TestCase和User Keyword來講,右邊的工做區Edit頁也是基本同樣,區別也只是在Settings裏。

TestCase的

 

User Keyword的

能夠從圖中看到他這邊是一個相似於excel的表格同樣的區域,這裏就是咱們的主要寫腳本的地方了。

 

四、在寫腳本以前,咱們先要加載一下測試庫,測試庫加到哪裏其實都是能夠的,由於selenium2lib的初始化設置裏是GLOBAL,這樣運行的時候會做用在全局。

  1. ROBOT_LIBRARY_SCOPE = 'GLOBAL'  

因此,對於咱們這個project來講,加到測試套件和res1.txt上均可以,若是隻加了一個,那麼在沒加測試庫的那個下面寫的腳本就是黑色的,提示找不到關鍵字,實際上運行的時候仍是會起做用的。

咱們先在測試套件來加一下,點擊測試套件,在他的工做區點擊Add Library,如圖

輸入Selenium2Library,點擊OK。

這樣還不算加載成功,成功的標誌是按F5鍵,調出Search Keywords的界面

點擊Source後面的下拉列表,在列表裏看到Selenium2Library纔算是加載成功。若是按照上面的方法進行沒有加載成功的話請確認一下你的版本號,至少在我寫本文的時候建議先從0.5.2開始裝起。

下面就能夠寫腳本了,先寫個open browser運行一下看看。

 

看到open browser的顏色不同凡響了麼?RIDE早一些的版本是藍色,如今他對各類不一樣的關鍵字作了區分,能夠自定義顏色。如今這個是默認的測試庫的關鍵字顏色。

 

五、最後run一下吧。

 

ok,運行成功了,也打開網頁了。RIDE的run頁面也會顯示出運行過程和結果。

 

細心的朋友會注意到,中間有幾個問號,這裏應該是顯示中文的 測試套件 4個字,可是因爲RF默認的編碼不支持中文,須要咱們修改一下編碼。

 

===RF2.6===——取自以前寫的介紹篇裏的內容。

•在[PythonDir]\Lib\site-packages\robot\utils下的encoding.py文件中,在文件上點擊右鍵,選擇Edit with IDLE打開文件,
找到def _get_output_encoding(): 原來的編碼是’cp437’ 將其改爲’ cp936’(簡體中文,gbk) 。

 

===RF2.7===

若是你和我同樣升級到2.7了,路徑仍是在[PythonDir]\Lib\site-packages\robot\utils下,

不過你在encoding.py裏找不到這個內容了,由於他們更新了。去哪裏了呢?就在他下面一點,名字是encodingsniffer.py。

在文件上點擊右鍵,選擇Edit with IDLE 打開文件,像下圖同樣,把cp437改爲cp936保存便可。

 

更新好了再執行一次腳本吧。

這回顯示正常了。

相關文章
相關標籤/搜索