selenium-python-pytest-bdd/pages/home.py

36 lines
1.0 KiB
Python

from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from pages.base import BasePage
class HomePage(BasePage):
@property
def PAGE_TITLE(self):
return (By.TAG_NAME, 'h1')
SUBHEADER = (By.TAG_NAME, 'h2')
SUBPAGE_LINKS = (By.XPATH, '//*[@id="content"]/ul/li/a')
def __init__(self, browser):
self.browser = browser
def click_page_link(self, page_name):
links = self.browser.find_elements(*self.SUBPAGE_LINKS)
for link in links:
if link.text.startswith(page_name):
link.click()
def get_page_title_text(self):
return self.browser.find_element(*self.PAGE_TITLE).text
def get_subheader_text(self):
return self.browser.find_element(*self.SUBHEADER).text
def get_subpage_list(self):
links = self.browser.find_elements(*self.SUBPAGE_LINKS)
titles = [link.text.split(" (")[0] for link in links]
return titles
def get_current_url(self):
return self.browser.current_url