【轉載】https://blog.csdn.net/boomjane_testingblog/article/details/51821819
在進行軟件自動化測試時,我們設計並編寫好一個測試腳本的業務邏輯之后,需要將其中的“業務數據”提取為變量,並對業務邏輯進行封裝(數據與邏輯分離嗎),以便在后續的測試過程中,只需設置每次測試的測試數據,而不必更改業務邏輯。
舉個例子,通過百度搜索不同的內容,我們的業務邏輯是:
[打開瀏覽器] - [輸入搜索內容] - [點擊搜索按鈕] - [關閉瀏覽器]
“業務數據”對應的就是我們所輸入的“搜索內容”
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面看一下實際操作步驟:
1.建立資源Resource
在導航樹中的項目節點點擊鼠標右鍵,選擇【New Resource】,打開新建Resource的對話框,填寫Resource名稱“業務關鍵字”
2.建立關鍵字User Keyword
在剛剛建立的【業務關鍵字】節點點擊右鍵,選擇【New User Keywod】
3.為關鍵字添加變量
點擊【百度搜索】節點,展開編輯面板的【Settings】配置,點擊Arguments的【edit】按鈕,添加變量${searchword}|${result}
備注:這兩個變量在這里一個代表搜索內容,一個代表預期結果。多個變量間用“|”分隔
4.為“業務關鍵字”設計業務邏輯
需要注意一下的是,這里的關鍵字可以理解為一個“函數”的概念,我們需要在TestCase中調用的是這個“關鍵字”。我們剛剛添加的變量是“關鍵字”的一部分,在TestCase中體現為具體的業務數據。
選中“業務關鍵字”下面的“百度搜索”,添加業務邏輯為:
Open Browser https://www.baidu.com/ ff
Input Text id=kw ${searchword}
Click button id=su
Sleep 2
${title} Get Title
Should Contain ${title} ${result}
Capture Page Screenshot ff.png
Close Browser
其中,${searchword}和${result}表示我們的關鍵字在被TestCase調用時,傳入的數據。而${title}則是作為一個中間過程的臨時變量進行使用。
5.使用關鍵字,首先為TestSuite添加Resource
選中“TestSuite”結點,點擊右側窗口中的“Resource”按鈕,在“Path”框中輸入“業務關鍵字”(注意路徑:我這兒是平級目錄可以直接引用),點擊“ok”按鈕。便將我們創建的關鍵字引入。
6.編寫TestCase
添加一個TestCase,在Edit選項卡下的表格中添加我們剛剛定義的關鍵字,如下:
百度搜索 Robot Framework Robot Framework_百度搜索
百度搜索 Selenium Selenium_百度搜索
路徑引用正確,此處關鍵字才能被識別到,顯示為藍色字體。
7.運行測試,獲取測試結果
第一輪是輸入Robot Framework進行搜索,並檢查預期結果
第二輪是輸入Selenium進行搜索,並檢查預期結果
總結:
RobotFrame Work 中的Resource 及關鍵字給我們提供的是一種類似於“函數”概念的用戶自定義機制。我們可以將一些通用的業務過程封裝為一個關鍵字,並聲明業務中的業務數據。在編寫測試用例時,直接調用關鍵字,設置業務數據即可。而一旦業務過程發生變化,或元素定位發生變化,我們只需要更改關鍵字中的業務邏輯即可,而不必更改每個測試用例。
---------------------
原文:https://blog.csdn.net/boomjane_testingblog/article/details/51821819