4、對各頁面元素及方法進行封裝
阿新 • • 發佈:2018-11-08
所謂的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類中二次封裝的方法。