import pytest from allure import step from playwright.sync_api import Page, Browser from src.helpers.logger import Logger from src.locators.popup_locators import PopupLocators from src.ui_elements.base_ui_element import BaseUIElement @pytest.mark.usefixtures("app") class Popup: log = Logger() def __init__(self, page: Page): self.page = page self.browser = Browser self.entity_type = '' self.url = f'/{self.entity_type}' self.track_link = BaseUIElement(self.page, PopupLocators.TRACK_LINK, 'Popup - track link') self.artist_link = BaseUIElement(self.page, PopupLocators.ARTIST_LINK, 'Popup - artist link') self.close_icon = BaseUIElement(self.page, PopupLocators.CLOSE_ICON, 'Popup - close icon') @step("Popup - get track id") def get_track_id(self): track_id = self.track_link.get_attribute("href").split("/")[-1] return track_id