import logging from contextlib import suppress import allure from ui_automation_framework.utils import CoreConfig from ui_automation_framework.utils import logger as cl from ui_automation_framework.core.base_page import BasePage from src.pages.artists_selector_page import ArtistsSelectorPage from waiting import TimeoutExpired, ALL from src.helpers.waiting_wrapper import wait from src.ui_elements.button_ui_element import ButtonUIElement from src.ui_elements.input_ui_element import InputUIElement from src.ui_elements.label_ui_element import LabelUIElement from src.locators.welcome_locators import WelcomeLocators class WelcomePage(BasePage): log = cl.Logger(logging.DEBUG) def __init__(self, driver): super().__init__(driver) self.driver = driver @property def lb_welcome(self): return LabelUIElement(self.driver, WelcomeLocators.WELCOME_LB, "Welcome") @property def bn_skip(self): return ButtonUIElement(self.driver, WelcomeLocators.SKIP_BTN, "Skip") def click_skip_btn(self): self.bn_skip.click() return ArtistsSelectorPage(self.driver) def is_welcome_screen_opened(self): with suppress(TimeoutExpired): return wait(ALL([self.lb_welcome.is_visible, self.bn_skip.is_visible])) return False @allure.step("Verifying the localised Welcome page is displayed") def is_localised_welcome_page_opened(self, welcome_text): return self.is_element_displayed(welcome_text[0], "accessibility-id")\ and self.is_element_displayed(welcome_text[1], "accessibility-id")