diff --git a/e2e/components/dialog/password-dialog.ts b/e2e/components/dialog/password-dialog.ts index 0e4543278..8d7a73817 100755 --- a/e2e/components/dialog/password-dialog.ts +++ b/e2e/components/dialog/password-dialog.ts @@ -23,7 +23,7 @@ * along with Alfresco. If not, see . */ -import { ElementFinder, by, browser, until } from 'protractor'; +import { ElementFinder, by, browser, ExpectedConditions as EC } from 'protractor'; import { BROWSER_WAIT_TIMEOUT } from '../../configs'; import { GenericDialog } from '../dialog/generic-dialog'; @@ -45,6 +45,24 @@ export class PasswordDialog extends GenericDialog { super(PasswordDialog.selectors.root); } + async waitForPasswordInputToBeInteractive() { + await browser.wait(EC.elementToBeClickable(this.passwordInput), BROWSER_WAIT_TIMEOUT, '--- timeout wait for passwordInput ---'); + } + + async waitForDialogToOpen(): Promise { + await super.waitForDialogToOpen(); + await this.waitForPasswordInputToBeInteractive(); + } + + async isDialogOpen(): Promise { + try { + await this.waitForDialogToOpen(); + return true; + } catch (error) { + return false; + } + } + async isCloseEnabled(): Promise { return this.isButtonEnabled(PasswordDialog.selectors.closeButton); } @@ -71,8 +89,13 @@ export class PasswordDialog extends GenericDialog { } async isErrorDisplayed(): Promise { - const elem = await browser.wait(until.elementLocated(by.css(PasswordDialog.selectors.errorMessage)), BROWSER_WAIT_TIMEOUT, '------- timeout waiting for error message to appear') - return (await browser.isElementPresent(elem)) && (await elem.isDisplayed()); + try { + await this.waitForDialogToOpen(); + return (await this.errorMessage.isPresent()) && (await this.errorMessage.isDisplayed()); + } catch (error) { + return false; + } + } async getErrorMessage(): Promise { diff --git a/e2e/components/viewer/viewer.ts b/e2e/components/viewer/viewer.ts index 43be053c4..4ecff869e 100755 --- a/e2e/components/viewer/viewer.ts +++ b/e2e/components/viewer/viewer.ts @@ -59,6 +59,7 @@ export class Viewer extends Component { async waitForViewerToOpen() { try { await browser.wait(EC.presenceOf(this.viewerContainer), BROWSER_WAIT_TIMEOUT); + await browser.wait(EC.presenceOf(this.viewerLayout), BROWSER_WAIT_TIMEOUT); } catch (error) { console.log('\n-----> catch waitForViewerToOpen <-----\n', error) } diff --git a/e2e/suites/viewer/viewer-protected-file.test.ts b/e2e/suites/viewer/viewer-protected-file.test.ts index a7e1863ac..4cc758197 100755 --- a/e2e/suites/viewer/viewer-protected-file.test.ts +++ b/e2e/suites/viewer/viewer-protected-file.test.ts @@ -63,7 +63,7 @@ describe('Viewer - password protected file', () => { await dataTable.waitForHeader(); await dataTable.doubleClickOnRowByName(protectedFile.name); await viewer.waitForViewerToOpen(); - await page.waitForDialog(); + await passwordDialog.waitForDialogToOpen(); }); afterEach(async () => {