diff --git a/tests/e2e/pageobjects/dashboard/Dashboard.ts b/tests/e2e/pageobjects/dashboard/Dashboard.ts index 71e8f2901f4..71d34086110 100644 --- a/tests/e2e/pageobjects/dashboard/Dashboard.ts +++ b/tests/e2e/pageobjects/dashboard/Dashboard.ts @@ -22,7 +22,7 @@ export class Dashboard { private static readonly WORKSPACES_BUTTON_XPATH: string = `//div[@id='page-sidebar']//a[contains(text(), 'Workspaces (')]`; private static readonly CREATE_WORKSPACE_BUTTON_XPATH: string = `//div[@id='page-sidebar']//a[text()='Create Workspace']`; private static readonly LOADER_PAGE_STEP_TITLES_XPATH: string = '//*[@data-testid="step-title"]'; - private static readonly WORKSPACE_STARTING_PAGE_CSS: string = '.ide-loader-page'; + private static readonly STARTING_PAGE_LOADER_CSS: string = '.main-page-loader'; private static readonly LOADER_ALERT_XPATH: string = '//*[@data-testid="loader-alert"]'; private static readonly LOGOUT_BUTTON_XPATH: string = '//button[text()="Logout"]'; @@ -121,10 +121,11 @@ export class Dashboard { await this.driverHelper.waitDisappearance(By.id('chenavmenu'), timeout); } - async waitWorkspaceStartingPage(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT): Promise { - Logger.debug(`Dashboard.waitWorkspaceStartingPage`); + async waitStartingPageLoaderDisappearance(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT): Promise { + Logger.debug(`Dashboard.waitStartingPageLoaderDisappearance`); - await this.driverHelper.waitPresence(By.css(Dashboard.WORKSPACE_STARTING_PAGE_CSS), timeout); + await this.driverHelper.waitDisappearance(By.css(Dashboard.STARTING_PAGE_LOADER_CSS), timeout); + await this.driverHelper.wait(TestConstants.TS_SELENIUM_DEFAULT_POLLING); } async getRecentWorkspaceName(timeout: number = TimeoutConstants.TS_COMMON_DASHBOARD_WAIT_TIMEOUT): Promise { diff --git a/tests/e2e/pageobjects/login/RedHatLoginPage.ts b/tests/e2e/pageobjects/login/RedHatLoginPage.ts index e9af455d776..75688b9a8e0 100644 --- a/tests/e2e/pageobjects/login/RedHatLoginPage.ts +++ b/tests/e2e/pageobjects/login/RedHatLoginPage.ts @@ -15,48 +15,46 @@ import { DriverHelper } from '../../utils/DriverHelper'; import { Logger } from '../../utils/Logger'; import { TestConstants } from '../../constants/TestConstants'; -const USERNAME_INPUT_ID: string = 'username-verification'; -const PASSWORD_INPUT_ID: string = 'password'; -const NEXT_BUTTON_ID: string = 'login-show-step2'; -const LOGIN_BUTTON_ID: string = 'rh-password-verification-submit-button'; -const timeout: number = 10000; - @injectable() export class RedHatLoginPage { + private readonly USERNAME_INPUT_ID: string = 'username-verification'; + private readonly PASSWORD_INPUT_ID: string = 'password'; + private readonly NEXT_BUTTON_ID: string = 'login-show-step2'; + private readonly LOGIN_BUTTON_ID: string = 'rh-password-verification-submit-button'; constructor( @inject(CLASSES.DriverHelper) private readonly driverHelper: DriverHelper) { } async waitRedHatLoginWelcomePage(): Promise { Logger.debug('RedHatLoginPage.waitRedHatLoginWelcomePage'); - await this.driverHelper.waitVisibility(By.id(USERNAME_INPUT_ID)); + await this.driverHelper.waitVisibility(By.id(this.USERNAME_INPUT_ID)); } async enterPasswordRedHat(): Promise { Logger.debug('RedHatLoginPage.enterPasswordRedHat'); - const passwordFieldLocator: By = By.id(PASSWORD_INPUT_ID); + const passwordFieldLocator: By = By.id(this.PASSWORD_INPUT_ID); await this.driverHelper.waitVisibility(passwordFieldLocator, 3000); - await this.driverHelper.enterValue(passwordFieldLocator, TestConstants.TS_SELENIUM_OCP_PASSWORD, timeout ); + await this.driverHelper.enterValue(passwordFieldLocator, TestConstants.TS_SELENIUM_OCP_PASSWORD); } async clickOnLoginButton(): Promise { Logger.debug('RedHatLoginPage.clickOnLoginButton'); - const loginButtonLocator: By = By.id(LOGIN_BUTTON_ID); - await this.driverHelper.waitAndClick(loginButtonLocator, timeout); + const loginButtonLocator: By = By.id(this.LOGIN_BUTTON_ID); + await this.driverHelper.waitAndClick(loginButtonLocator); } async waitDisappearanceRedHatLoginWelcomePage(): Promise { Logger.debug('RedHatLoginPage.waitDisappearanceRedHatLoginWelcomePage'); - await this.driverHelper.waitDisappearance(By.id(LOGIN_BUTTON_ID)); + await this.driverHelper.waitDisappearance(By.id(this.LOGIN_BUTTON_ID)); } async enterUserNameRedHat(): Promise { Logger.debug('RedHatLoginPage.enterUserNameRedHat'); - const usernameFieldLocator: By = By.id(USERNAME_INPUT_ID); + const usernameFieldLocator: By = By.id(this.USERNAME_INPUT_ID); await this.driverHelper.waitVisibility(usernameFieldLocator, 20000); - await this.driverHelper.enterValue(usernameFieldLocator, TestConstants.TS_SELENIUM_OCP_USERNAME, timeout ); + await this.driverHelper.enterValue(usernameFieldLocator, TestConstants.TS_SELENIUM_OCP_USERNAME); } async clickNextButton(): Promise { Logger.debug('RedHatLoginPage.clickNextButton'); - const nextButtonLocator: By = By.id(NEXT_BUTTON_ID); - await this.driverHelper.waitAndClick(nextButtonLocator, timeout); + const nextButtonLocator: By = By.id(this.NEXT_BUTTON_ID); + await this.driverHelper.waitAndClick(nextButtonLocator); } } diff --git a/tests/e2e/tests-library/LoginTests.ts b/tests/e2e/tests-library/LoginTests.ts index 2cfcf2bd74d..f28acda2a3d 100644 --- a/tests/e2e/tests-library/LoginTests.ts +++ b/tests/e2e/tests-library/LoginTests.ts @@ -31,6 +31,7 @@ export class LoginTests { if (TestConstants.TS_SELENIUM_LAUNCH_FULLSCREEN) { Logger.debug(`TS_SELENIUM_LAUNCH_FULLSCREEN is set to true, maximizing window.`); await this.browserTabsUtil.maximize(); + await this.dashboard.waitStartingPageLoaderDisappearance(); } }); }