Selenium自動化測試——巡檢腳本開發(中)

6、pages

封裝測試過程針對頁面的操作方法,主要包括basepage、mainpage、loginpage、registepage等函數。pages目錄創建時選擇“Python Package”格式。

(1)Basepage

BasePage是自定義頁面基類,封裝了基本的頁面操作的方法,有 find_element, send_keys 2個公共方法,具體的方法可根據測試需要進行擴展。

find_element:定位元素,識別測試頁面中需驅動的元素。

Send_keys:發送鍵值,模擬鍵盤輸入測試數據。

Logger = Logger(logger="BasePage").getlog()是產生一個共有日誌類,在當前頁面基類中調用。

from common.logger import Logger中表示導入框架中common文件夾下的logger模塊。

 

具體代碼如下:

(2) Loginpage

LoginPage類是封裝用戶登陸業務所需的對象驅動方法,繼承自BasePage類,有Input_username輸入用戶名,input_password輸入密碼,click_submit點擊登陸按鈕。Loginpage繼承Basepage基類方法,故需加載Basepage,執行代碼from .basepage import BasePage。

利用Firefox中Firebug對登陸頁面中的用戶名、密碼及登陸按鈕三個對象的屬性分析,Loginpage中的對象識別使用By.NAME方法。

 

具體代碼如下:

 

(3) mainpage

MainPage繼承BasePage基類,封裝了首頁的open打開主頁方法,show_userid獲取用戶登陸id及exit_sys退出系統方法。

 

可通過show_userid獲取用戶登陸後的id信息,便於判斷登陸是否成功,本次測試並未增加該項判斷,讀者自自行研究如何判斷登陸是否成功。

 

利用Firefox中Firebug對主頁中的userid及退出元素的屬性分析,mainpage中的對象識別使用XPATH方法。

 

 

(4) registepage

與用戶登陸類似,registepage集成Basepage基類,用戶註冊操作涉及用戶名、email、密碼、確認密碼、登陸操作。

利用Firefox中Firebug對註冊頁面中的相關元素的屬性分析,registepage中的對象識別使用By.ID和XPATH方法。

 

7、picture

picture目錄創建時選擇“Directory”格式,存放cappic截圖函數獲得的圖片。

 

8、report

report目錄創建時選擇“Directory”格式。調用HTMLTestRunner.py函數時,如需要圖形分析,可將js文件放在report目錄的“js”目錄中。

本案例中日誌記錄功能已經很完整,故HTML報告輸出功能非必選,讀者根據需要自行決定是否採用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章