Python+Selenium框架設計篇
阿新 • • 發佈:2021-01-22
技術標籤:python+seleniumseleniumpython
Python+Selenium框架設計篇
比如測試一個登陸頁面:盛祺登入 ,執行測試的人員傳遞不同的資料到帳號、密碼框就可以了,而不應該去顧慮:
頁面是否已經載入完成?怎樣定位到帳號輸入框?怎樣定位到登陸按鈕等等問題。
這些問題全部交由登陸頁面的“頁面物件”去解決並封裝起來,只提供給測試人員三個介面方法:1.帳號輸入介面、
2.密碼輸入介面、3.提交介面。
執行的檔案:xl_login.py
xl_login.py
# coding=utf-8 # 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行 # 2.註釋:包括記錄建立時間,建立人,專案名稱。 ''' Created on 2020/12/18 @author: ctt Project: Python+Selenium框架設計篇 比如測試一個登陸頁面:盛祺登入 ,執行測試的人員傳遞不同的資料到帳號、密碼框就可以了,而不應該去顧慮: 頁面是否已經載入完成?怎樣定位到帳號輸入框?怎樣定位到登陸按鈕等等問題。 這些問題全部交由登陸頁面的“頁面物件”去解決並封裝起來,只提供給測試人員三個介面方法:1.帳號輸入介面、2.密碼輸入介面、3.提交介面。 ''' # 3.匯入模組 from selenium import webdriver from selenium.webdriver.common.by import By from basePage import BasePage import time class LoginPage(BasePage): """ 盛祺首頁登陸頁面 繼承自基礎頁面BasePage """ # 點選帳號輸入框 showAccount_loc = (By.ID, 'showAccount') # 定位帳號輸入框 username_loc = (By.ID, 'userAccount') # 點選密碼輸入框 showPassword_loc = (By.ID, 'showPassword') # 定位密碼輸入框 password_loc = (By.ID, 'userPassword') # 定位登陸按鈕 submit_loc = (By.XPATH, '//*[@id="dengluBtn"]') # 點選賬號輸入框操作 def type_showAccount(self): self.find_element(*self.showAccount_loc).click() # 輸入使用者名稱操作 def type_username(self, username): self.find_element(*self.username_loc).send_keys(username) # 點選密碼輸入框操作 def type_showPassword(self): self.find_element(*self.showPassword_loc).click() # 輸入密碼操作 def type_password(self, password): self.find_element(*self.password_loc).send_keys(password) # 點選登陸按鈕操作 def submit(self): self.find_element(*self.submit_loc).click() if __name__ == '__main__': # 測試登陸 # 預開啟頁面 base_url = '自己的網址' # 頁面title title = '廣東財經大學資產管理系統' # 準備好待輸入的使用者名稱和密碼 username = 'ctt' password = '123456' # 開啟Chrome瀏覽器 driver = webdriver.Firefox() driver.maximize_window() # 登陸頁面初始化 login = LoginPage(driver, base_url, title) # 開啟盛祺登入首頁 login.open() # 點選使用者名稱輸入框 login.type_showAccount() # 輸入使用者名稱 login.type_username(username) # 點選密碼輸入框 login.type_showPassword() # 輸入密碼 login.type_password(password) # 點選登陸 login.submit() time.sleep(2) driver.quit()
basePage.py 檔案內容
# coding=utf-8