mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-4586] Implemented Playwright Framework and add it to CI/CD (#2985)
This commit is contained in:
committed by
GitHub
parent
197ef8f0e3
commit
d68deab2bd
38
e2e/playwright/shared/page-objects/pages/login.page.ts
Normal file
38
e2e/playwright/shared/page-objects/pages/login.page.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright © 2005 - 2023 Alfresco Software, Ltd. All rights reserved.
|
||||
*
|
||||
* License rights for this program may be obtained from Alfresco Software, Ltd.
|
||||
* pursuant to a written agreement and any use of this program without such an
|
||||
* agreement is prohibited.
|
||||
*/
|
||||
|
||||
import { Page } from '@playwright/test';
|
||||
import { BasePage } from './base.page';
|
||||
import { UserModel } from '../../models';
|
||||
|
||||
interface LoginOptions {
|
||||
waitForLoading?: boolean;
|
||||
withNavigation?: boolean;
|
||||
}
|
||||
export class LoginPage extends BasePage {
|
||||
constructor(page: Page) {
|
||||
super(page, '');
|
||||
}
|
||||
|
||||
private username = this.page.locator('#username');
|
||||
private password = this.page.locator('#password');
|
||||
private submitButton = this.page.locator('#login-button');
|
||||
|
||||
async loginUser(userData: { username: string; password: string } | UserModel, options?: LoginOptions): Promise<void> {
|
||||
if (options?.withNavigation) {
|
||||
await this.navigate();
|
||||
}
|
||||
await this.username.fill(userData.username);
|
||||
await this.password.fill(userData.password);
|
||||
await this.submitButton.click();
|
||||
|
||||
if (options?.waitForLoading) {
|
||||
await Promise.all([this.page.waitForLoadState('domcontentloaded'), this.spinner.waitForReload()]);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user