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 () => {