from allure import step from playwright.sync_api import Page from playwright.sync_api import expect from src.pages.common_page import CommonPage from src.locators.login_locators import LoginLocators from src.ui_elements.base_ui_element import BaseUIElement from assertpy import assert_that class LoginPage(CommonPage): def __init__(self, page: Page): super().__init__(page) self.page = page self.logo_login = BaseUIElement(self.page, LoginLocators.LOGO_LOGIN, 'Login logo') self.btn_login = BaseUIElement(self.page, LoginLocators.BTN_LOGIN, 'Login button') self.sony_input_email = BaseUIElement(self.page, LoginLocators.SONY_INPUT_EMAIL, 'Sony input email') self.sony_input_password = BaseUIElement(self.page, LoginLocators.SONY_INPUT_PASSWORD, 'Sony input password') self.sony_btn_next = BaseUIElement(self.page, LoginLocators.SONY_BTN_NEXT, 'Sony Next button') self.sony_btn_sign_in = BaseUIElement(self.page, LoginLocators.SONY_BTN_SIGN_IN, 'Sony Sign In button') self.ms_input_password = BaseUIElement(self.page, LoginLocators.MS_INPUT_PASSWORD, 'MS input password') self.ms_btn_sign_in = BaseUIElement(self.page, LoginLocators.MS_BTN_SIGN_IN, 'MS Sign In button') @step("Login page is loaded") def is_page_loaded(self): self.logo_login.exists()