python-selenium Page Object設計模式

Page Object是一種程序設計模式,將面向過程轉變爲面向對象(頁面對象),將測試對象及單個的測試步驟封裝在每個Page對象中,以page爲單位進行管理。可以使代碼複用,降低維護成本,提高程序可讀性和編寫效率。

#用page object思想實現百度首頁的搜索和登陸功能
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
class BaiduPage():
    url='http://www.baidu.com/'
    username='XXXXXX'
    password='******'
    
    def __init__(self,driver):
        self.driver=driver  
              
    def search(self,kw='51cto'):
        self.driver.get(self.url)
        time.sleep(2)
        self.driver.find_element_by_id('kw').send_keys(kw)
        self.driver.find_element_by_id('su').click()
        time.sleep(2)
        
    def login(self,username=None,password=None):
        
        if username==None:
            username=self.username
        if password==None:
            password=self.password
        self.driver.get(self.url)
        time.sleep(2)
        self.driver.find_element_by_link_text('登錄'.decode('utf-8')).click()
        time.sleep(2)
        self.driver.find_element_by_id('TANGRAM__PSP_8__userName').send_keys(self.username)
        self.driver.find_element_by_id('TANGRAM__PSP_8__password').send_keys(self.password)
        self.driver.find_element_by_id('TANGRAM__PSP_8__submit').click()
        time.sleep(2)
        
    def __del__(self):
        pass
        #self.driver.quit()
        
driver=webdriver.Chrome()
page=BaiduPage(driver)
page.login()
self.driver.quit()


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