Robotframework 測試用例分層介紹,用例編寫規範
RF測試用例分層
互動層:把每一個操作的動作封裝成使用者自定義的關鍵字
頁面層:匯入互動層的資源,使用互動曾關鍵字封裝成頁面關鍵字
流程層:流程層使用前面2層的關鍵字,封裝成一個流程關鍵字
互動層封裝
光看文字大概率是看不懂的,這裡用我們自己的專案給大家一個實戰演練:
覺得很好用很神奇的同學可以學習一下robotframework
1.右鍵點選,選擇new resource ,新增一個名字為maomaoyutest的resource
2
2.選擇maomaoyutest,匯入library。
3.在maomaoyutest裡建立第一個關鍵字
開啟瀏覽器
- 最大化瀏覽器視窗
- 輸入使用者名稱
- 輸入密碼
- 輸入驗證碼
輸入驗證碼這邊大家如果看不懂可以給大家講解一下:
首先看官網的樣子
驗證碼圖片上的數字每次都是隨機的,我們可以通過js程式碼來去除innertest。
1.建立一個列表
2.迴圈4次,每次從瀏覽器中取出一個驗證碼
3.將取出的每次新增到列表裡
4.取出列表的4位連線起來,並且去除兩兩之間的空格
5.輸入到驗證碼輸入框中
這就是這幾行程式碼做的事情,大家可以自行練習
- 點選登陸
這樣我們就完成了登陸系統的拆分,然後我們新建一個測試suit
新建測試用例
把我們剛才封裝的操作匯入到這個suit中
然後我們在login用例裡使用這些關鍵字
勾選login點選run,執行,結果圖如下,已經登陸成功
還有以點就是:如果我們在自定義關鍵字中需要引數化,比如使用者名稱,密碼,url等需要輸入不同的時候我們可以如下圖
然後調整測試用例
至此:登陸頁面的互動層封裝完畢
業務層封裝:
重複互動層封裝的新建resource操作,新建業務層的resource
將互動曾maomaoyutest.txt匯入到page頁面層
新建登陸頁面
在登入頁面書寫指令碼
對登入頁面關鍵字的資料引數化
這個就是所謂的登陸頁面page的封裝,之後我們會用到,接下來介紹一下流程層的封裝,也就是測試用例怎麼用到互動層和頁面層
流程層的封裝
相同的操作,新建maomaoyuflow流程層的resource
匯入頁面層和互動層:
新建一個登陸流程,指令碼書寫開啟瀏覽器和登陸頁面,傳入登陸頁面的兩個引數
如下圖,對兩個引數進行引數化
然後我們開始編寫用例
新建一個suit 登陸
匯入 selenium2library,互動層和流程層的resource和library
在登陸suit中新建測試用例login
之後編寫用例斷言
執行成功
斷言定位到登陸後的頁面中有一個當前使用者的元素判斷其文字是否位當前使用者
編寫一個使用者名稱或密碼錯誤的login2的用例
執行後的結果
然後在互動層封裝一下我們的斷言
在簡化我們的用例
新建關閉瀏覽器的關鍵字
因為在suit中有一個setup 和 teardown
熟悉單元測試框架的同學應該知道這個是用例開始和結束做的事情
然後修改用例,修改登入流程
登陸的時候不需要關注是登陸成功還是登入失敗,所以我們在page層再次封裝一個新的關鍵字,登入檢查,注意:判斷字串的雙引號
再次修改用例
用例就精簡到了登入流程和登陸檢查,pass和false分別代表成功和失敗的校驗,再次執行用例,即可全部成功