from allure import step from playwright.sync_api import Page from playwright.sync_api import expect from src.pages.search_page import SearchPage from src.locators.home_locators import HomeLocators from src.ui_elements.base_ui_element import BaseUIElement from assertpy import assert_that class HomePage(SearchPage): def __init__(self, page: Page): super().__init__(page) self.page = page self.home_logo = BaseUIElement(self.page, HomeLocators.HOME_LOGO, 'DNA logo') self.bn_discover = BaseUIElement(self.page, HomeLocators.BN_DISCOVER, 'Discover button') self.bn_search = BaseUIElement(self.page, HomeLocators.BN_SEARCH, 'Search button') self.search_cards_title = BaseUIElement(self.page, HomeLocators.CARDS_TITLE, 'Cards title') self.search_card_item = BaseUIElement(self.page, HomeLocators.SEARCH_ENTITY_CARD_ITEM, 'Card item') self.search_card_image = BaseUIElement(self.page, HomeLocators.SEARCH_ENTITY_CARD_IMG, 'Card - Image') self.search_card_name = BaseUIElement(self.page, HomeLocators.SEARCH_ENTITY_CARD_NAME, 'Card - Name') self.search_card_bn_bookmark = BaseUIElement(self.page, HomeLocators.SEARCH_ENTITY_CARD_BTN, 'Card - Add to category') self.search_card_green_mark = BaseUIElement(self.page, HomeLocators.SEARCH_ENTITY_CARD_GREEN_MARK, 'Card - Green mark') self.search_card_by_artist = BaseUIElement(self.page, HomeLocators.SEARCH_ENTITY_CARD_BY_ARTIST, 'By Artist') @step("Home page is loaded") def is_page_loaded(self): self.home_logo.exists()