1. 程式人生 > 其它 >Python+Selenium框架設計篇

Python+Selenium框架設計篇

技術標籤: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