From:http://www.cnblogs.com/buaawp/p/4754399.html
Robot Framework 教程 (3) - Resource及關鍵字 的使用
在進行軟件自動化測試時,我們設計并編寫好一個測試腳本的業務邏輯之后,需要將其中的業務數據提取為變量,并對業務邏輯進行封裝。在后續的測試過程中,只需設置每次測試的測試數據,而不必更改業務邏輯。
舉個例子,我們對baidu搜索進行兼容性測試時,我們的業務邏輯是
[打開瀏覽器] - [輸入搜索內容] - [點擊搜索按鈕] - [截圖保存] - [關閉瀏覽器]
而對應的業務數據,就是我們所輸入的“搜索內容”。
在后續的測試中,我們應該將這一邏輯封裝為一個關鍵字(這里可以理解為一個自定義函數,并將搜索內容作為輸入變量)。每次測試時,只需要改變“搜索內容”這一變量即可。
1.建立資源
在導航樹中的項目節點點擊鼠標右鍵,選擇【New Resource】,打開新建Resource的對話框,填寫Resource名稱“業務關鍵字”
2.建立關鍵字
在剛剛建立的【業務關鍵字】節點點擊右鍵,選擇【New User Keyword】,建立新關鍵字“百度搜索”
3.為關鍵字添加變量
點擊【百度搜索】節點,展開編輯面板的【Settings】配置,點擊Arguments的【edit】按鈕,添加變量
按照使用說明,這里的變量使用 ${key} 的格式,多個變量之間使用 | 進行分割。這里我們演示一下多變量。使用${searchword}|${result}
4.為關鍵字設置業務邏輯
需要注意一下的是,這里的關鍵字可以理解為一個“函數”的概念,我們需要在TestCase中調用的是這個“關鍵字”。我們剛剛添加的變量是“關鍵字”的一部分,在TestCase中體現為具體的業務數據。
作為一個“函數”,除了變量外,我們還需要為之編寫業務邏輯:
對應的腳本為
Open Browser https://www.baidu.com/ ffInput Text id=kw ${keyword}Click button id=suSleep 2${title} Get TitleShould Contain ${title} ${result}Capture Page Screenshot ff.pngClose Browser
其中${searchword}和${result}表示我們的關鍵字在被TestCase調用時,傳入的數據。而${title}則是作為一個中間過程的臨時變量進行使用。
5.為TestSuite添加Resource
與Library類似,在Resource編寫完成自后,需要在TestSuite進行 一下引用。
6.編寫TestCase
設置完Resource之后,添加一個TestCase,并在其中使用我們剛剛定義的關鍵字
7.運行測試,獲取測試結果
、
總結:
RobotFrame Work 中的Resource 及關鍵字給我們提供的是一種類似于“函數”概念的用戶自定義機制。我們可以將一些通用的業務過程封裝為一個關鍵字,并聲明業務中的業務數據。在編寫測試用例時,直接調用關鍵字,設置業務數據即可。而一旦業務過程發生變化,或元素定位發生變化,我們只需要更改關鍵字中的業務邏輯即可,而不必更改每個測試用例。
在使用過程中,有些驗證邏輯我們可能無法僅僅通過RobotFrame Work 的內置函數或自定義關鍵字來實現,這個時候需要我們自己編寫外部函數來進行驗證,也就是需要自定義外部的Library。下一篇文章,我們將會對用戶自定義Library進行介紹。