from allure import step from playwright.sync_api import expect from src.ui_elements.base_ui_element import BaseUIElement class SearchPanelUIElement(BaseUIElement): @step("{0} has icon = {icon_name}") def has_icon(self, icon_name): icon = '//*[contains(@class, "icon-{}")]'.format(icon_name) icon_element = self.page.locator(self.locator + icon) expect(icon_element).to_have_count(1) @step("{0} has NO icon = {icon_name}") def has_no_icon(self, icon_name): icon = '//*[contains(@class, "icon-{}")]'.format(icon_name) icon_element = self.page.locator(self.locator + icon) expect(icon_element).to_have_count(0) def __str__(self): return f"Search Panel {self.name}"