Python 3+Selenium Web自動化試験事例共有(5)——登録ページ類方法


この章では、網易企業のメールボックスログインページを例に、パッケージ化の方法は主に、ログインページ要素、アカウントの入力、パスワードの入力、ログイン成功、ログイン失敗などのログインに関する手順があり、loginPageはbasePageクラスを継承し、中間層に相当し、その後、ページ要素の変動は、主にloginPageの内容を修正することである.
一、loginPage.py
# _*_ coding:utf-8 _*_
from selenium.webdriver.common.by import By
from Page.basePage import BasePage                          #     
from Public import log

log_info =log.logger                                        #log  

class Login_page(BasePage):
    """
            
    """
    #     
    login_way =(By.ID,"switchNormalCtrl")
    username = (By.ID, "accname")
    password = (By.ID, "accpwd")
    login_btn = (By.XPATH, "//*[@id='loginBlock']/div[2]/form[1]/div[5]/button")
    logout = (By.XPATH, "//*[@id='top']/div/div[2]/div[3]/div/a[5]")
    login_msg = (By.ID, 'msgpid')
    user_air=(By.XPATH,"//*[@id='loginBlock']/div[2]/form[1]/div[1]/div")
    pw_air=(By.XPATH,"//*[@id='loginBlock']/div[2]/form[1]/div[2]/div")

    #    
    def open(self, url, pagetitle):
        self._open(url, pagetitle)

    #      
    def click_loginway(self):
        log_info.info("      ")
        self.find_element(*self.login_way).click()

    #    
    def input_username(self, username):
        log_info.info("    ")
        self.find_element(*self.username).clear()
        self.find_element(*self.username).send_keys(username)

    #    
    def input_password(self, password):
        log_info.info("    ")
        self.find_element(*self.password).clear()
        self.find_element(*self.password).send_keys(password)

    #    
    def click_login(self):
        log_info.info("    ")
        self.find_element(*self.login_btn).click()

    #      
    def show_userid(self):
        exit_text=self.find_element(*self.logout).text
        log_info.info("    ")
        return exit_text

    #    
    def click_exit(self):
        self.find_element(*self.logout).click()
        log_info.info("    ")

    #      
    def Mismatch(self):
        msg_text=self.find_element(*self.login_msg).text
        #log_info.info(msg_text)
        return msg_text

    #    
    def username_air(self):
        user_air=self.find_element(*self.user_air).text
        #log_info.info(user_air)
        return user_air

    #    
    def password_air(self):
        password_text=self.find_element(*self.pw_air).text
        #log_info.info(password_text)
        return password_text