1. 程式人生 > >4、對各頁面元素及方法進行封裝

4、對各頁面元素及方法進行封裝

所謂的POM(Page Object Model)設計模式其實就是把一個頁面當作一個物件,將一個頁面中的所有元素及方法封裝在一個java類中。

下面封裝了3個頁面的元素:


依次開啟看看吧。

1、home_baidu.py

# -*- coding:utf-8 -*-
from framework.basepage import BasePage

class Home_Baidu(BasePage):
    news = u'新聞'
    hao123 = u'hao123'
    map = u'地圖'
    vedio = u'視訊'
    tieba = u'貼吧'
def __init__(self, driver): # super(Home_Baidu, self).__init__(driver) self.driver = driver def news_ele(self): return self.find_link_text(self.news) def vedio_ele(self): return self.find_link_text(self.vedio) def click_news_ele(self): self
.find_link_text(self.news).click() def click_vedio_ele(self): self.find_link_text(self.vedio).click()

2、news_page.py

# -*- coding:utf-8 -*-
from framework.basepage import BasePage


class News_Page(BasePage):
    news_input_id = 'ww'
    news_submit_id = 's_btn_wr'

    def __init__
(self, driver): # super(News_Page, self).__init__(driver) self.driver = driver def news_input_ele(self): return self.find_id(self.news_input_id) def news_submit_ele(self): return self.find_id(self.news_submit_id)

3、vedio_page.py

# -*- coding:utf-8 -*-
from framework.basepage import BasePage


class Vedio_Page(BasePage):
    vedio_input_id = "new-bdvSearchInput"
    vedio_submit_id = "new-bdvSearchBtn"

    def __init__(self, driver):
        # super(Vedio_Page, self).__init__(driver)
        self.driver = driver

    def vedio_input_ele(self):
        return self.find_id(self.vedio_input_id)

    def vedio_submit_ele(self):
        return self.find_id(self.vedio_submit_id)
可以發現這些類都繼承了BasePage類使得可以使用BasePage類中二次封裝的方法。