diff --git a/test/e2e/fixtures/vpTest.ts b/test/e2e/fixtures/vpTest.ts index 011e114c..f9b11b0b 100644 --- a/test/e2e/fixtures/vpTest.ts +++ b/test/e2e/fixtures/vpTest.ts @@ -21,20 +21,10 @@ export const vpTest = test.extend({ pomPages: [ async ({ page }, use) => { const pomPages = new PageManager(page); + await pomPages.mainPage.goto(); await use(pomPages); }, - { scope: 'test' }, - ], - /** - * Fixture for the video player examples page object. - */ - vpExamples: [ - async ({ page }, use) => { - const vpExamplePage = new MainPage(page); - await vpExamplePage.goto(); - await use(vpExamplePage); - }, - { auto: true }, + { scope: 'test', auto: true }, ], /** diff --git a/test/e2e/specs/highlightsGraphPageVideoIsPlaying.spec.ts b/test/e2e/specs/highlightsGraphPageVideoIsPlaying.spec.ts index ece4d66e..ffc82a28 100644 --- a/test/e2e/specs/highlightsGraphPageVideoIsPlaying.spec.ts +++ b/test/e2e/specs/highlightsGraphPageVideoIsPlaying.spec.ts @@ -9,9 +9,9 @@ const link = getLinkByName(ExampleLinkName.AIHighlightsGraph); /** * Testing if video on highlights graph page is playing by checking that is pause return false. */ -vpTest(`Test if video on highlights graph page is playing as expected`, async ({ page, vpExamples, pomPages }) => { +vpTest(`Test if video on highlights graph page is playing as expected`, async ({ page, pomPages }) => { await test.step('Navigate to highlights graph page by clicking on link', async () => { - await vpExamples.clickLinkByName(link.name); + await pomPages.mainPage.clickLinkByName(link.name); await waitForPageToLoadWithTimeout(page, 5000); }); await test.step('Validating that the video is playing (in case isPause is false)', async () => { diff --git a/test/e2e/specs/linksConsolErros.spec.ts b/test/e2e/specs/linksConsolErros.spec.ts index cb32a31c..b2a2b3c5 100644 --- a/test/e2e/specs/linksConsolErros.spec.ts +++ b/test/e2e/specs/linksConsolErros.spec.ts @@ -9,9 +9,9 @@ import { ExampleLinkName } from '../testData/ExampleLinkNames'; * Console error test generated by LINKS object array data. */ for (const link of LINKS) { - vpTest(`Test console errors on link ${link.name}`, async ({ page, consoleErrors, vpExamples }) => { + vpTest(`Test console errors on link ${link.name}`, async ({ page, consoleErrors, pomPages }) => { vpTest.skip(link.name === 'Adaptive Streaming', 'Flaky on CI'); - await vpExamples.clickLinkByName(link.name); + await pomPages.mainPage.clickLinkByName(link.name); await waitForPageToLoadWithTimeout(page, 5000); expect(page.url()).toContain(link.endpoint); handleCommonBrowsersErrors(link.name, consoleErrors); diff --git a/test/e2e/specs/linksConsoleErrorsEsmPage.spec.ts b/test/e2e/specs/linksConsoleErrorsEsmPage.spec.ts index cb534df0..4e75176b 100644 --- a/test/e2e/specs/linksConsoleErrorsEsmPage.spec.ts +++ b/test/e2e/specs/linksConsoleErrorsEsmPage.spec.ts @@ -16,14 +16,14 @@ let isPreviewUrlLoaded = false; * Console error test generated by LINKS object array data. */ for (const link of ESM_LINKS) { - vpTest(`Test console errors on link ${link.name}`, async ({ page, consoleErrors, vpExamples }) => { + vpTest(`Test console errors on link ${link.name}`, async ({ page, consoleErrors, pomPages }) => { vpTest.skip(link.name === 'Adaptive Streaming', 'Flaky on CI'); //Wait for deploy URL to be available if PREVIEW_URL is set, and it is not available yet if (process.env.PREVIEW_URL && !isPreviewUrlLoaded) { await waitForDeployPreviewUrl(link, page); } await page.goto(ESM_URL); - await vpExamples.clickLinkByName(link.name); + await pomPages.mainPage.clickLinkByName(link.name); await waitForPageToLoadWithTimeout(page, 5000); expect(page.url()).toContain(link.endpoint); handleCommonEsmBrowsersErrors(link.name, consoleErrors); diff --git a/test/e2e/specs/mainPageVideoIsPlaying.spec.ts b/test/e2e/specs/mainPageVideoIsPlaying.spec.ts index 2bbf91d7..e89cef9c 100644 --- a/test/e2e/specs/mainPageVideoIsPlaying.spec.ts +++ b/test/e2e/specs/mainPageVideoIsPlaying.spec.ts @@ -6,13 +6,13 @@ import { waitForPageToLoadWithTimeout } from '../src/helpers/waitForPageToLoadWi * Testing if video on main page is playing by checking that is pause return false. * The video in the main page is not configured as autoplay so first need to click on play button. */ -vpTest(`Test if video on main page can play as expected`, async ({ page, vpExamples }) => { +vpTest(`Test if video on main page can play as expected`, async ({ page, pomPages }) => { await test.step('Click on play button to play video', async () => { //making sure the page is loaded await waitForPageToLoadWithTimeout(page, 5000); - return vpExamples.videoMainPage.clickPlay(); + return pomPages.mainPage.videoMainPage.clickPlay(); }); await test.step('Validating that the video is playing (in case isPause is false)', async () => { - expect(await vpExamples.videoMainPage.isPaused()).toEqual(false); + expect(await pomPages.mainPage.videoMainPage.isPaused()).toEqual(false); }); }); diff --git a/test/e2e/src/pom/PageManager.ts b/test/e2e/src/pom/PageManager.ts index aeada9ca..63cebaab 100644 --- a/test/e2e/src/pom/PageManager.ts +++ b/test/e2e/src/pom/PageManager.ts @@ -1,6 +1,7 @@ import { Page } from '@playwright/test'; import { HighlightsGraphPage } from './highlightsGraphPage'; import { BasePage } from './BasePage'; +import { MainPage } from './mainPage'; /** * Page manager, @@ -26,6 +27,13 @@ export class PageManager { return this.pageMap.get(pageName) as T; } + /** + * Returns main page object + */ + public get mainPage(): MainPage { + return this.getPage(MainPage); + } + /** * Returns highlightGraphPage page object */