E2E/Playwright: Instantiate page in pw (#29765)

* instantiate page in pw

* update spec

* fix storage key and require user when logging in via API

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Saturnino Abril
2025-01-14 12:30:42 +08:00
коммит произвёл GitHub
родитель 20e9c6aa3e
Коммит 90e3d2833e
35 изменённых файлов: 554 добавлений и 591 удалений

Просмотреть файл

@@ -7,6 +7,7 @@ import {request, Browser, BrowserContext} from '@playwright/test';
import {UserProfile} from '@mattermost/types/users';
import testConfig from '@e2e-test.config';
import pages from '@e2e-support/ui/pages';
export class TestBrowser {
readonly browser: Browser;
@@ -17,7 +18,7 @@ export class TestBrowser {
this.context = null;
}
async login(user: UserProfile | null) {
async login(user: UserProfile) {
const options = {storageState: ''};
if (user) {
// Log in via API request and save user storage
@@ -29,9 +30,14 @@ export class TestBrowser {
const context = await this.browser.newContext(options);
const page = await context.newPage();
const channelsPage = new pages.ChannelsPage(page);
const systemConsolePage = new pages.SystemConsolePage(page);
const scheduledDraftPage = new pages.ScheduledDraftPage(page);
const draftPage = new pages.DraftPage(page);
this.context = context;
return {context, page};
return {context, page, channelsPage, systemConsolePage, scheduledDraftPage, draftPage};
}
async close() {