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報告輸出功能非必選,讀者根據需要自行決定是否採用。