from allure_commons._allure import step from playwright.sync_api import Page from src.helpers.logger import Logger from src.locators.track_page.header.track_page_header_locators import TrackPageHeaderLocators from src.pages.apollo_header_main import ApolloHeader from src.ui_elements.base_ui_element import BaseUIElement from src.ui_elements.date_range_day_picker import DateRangeUIElement log = Logger() tab_name = "Track Page Header - " class TrackPageHeader(ApolloHeader): def __init__(self, page: Page): super().__init__(page) self.page = page self.entity_type = '{0}/track/{1}?market={2}' self.url = f'/{self.entity_type}' self.track_title = BaseUIElement(self.page, TrackPageHeaderLocators.TRACK_TITLE, tab_name + 'track_title') self.sas_tab = BaseUIElement(self.page, TrackPageHeaderLocators.STREAMS_AND_SOURCES_TAB, tab_name + 'Streams and Sources tab') self.by_markets_tab = BaseUIElement(self.page, TrackPageHeaderLocators.BY_MARKETS_TAB, tab_name + 'By Markets tab') self.youtube_tab = BaseUIElement(self.page, TrackPageHeaderLocators.YOUTUBE_TAB, tab_name + 'Youtube tab') self.tiktok_tab = BaseUIElement(self.page, TrackPageHeaderLocators.TIKTOK_TAB, tab_name + 'Tiktok tab') self.day_picker = DateRangeUIElement(self.page, TrackPageHeaderLocators.DAY_PICKER, tab_name + 'day picker') @step(tab_name + "get track title png") def get_track_title_png(self): title = self.track_title.get_text().replace(" ", "-") return title