diff --git a/test/e2e/specs/floatingPlayerPgae.spec.ts b/test/e2e/specs/floatingPlayerPgae.spec.ts new file mode 100644 index 00000000..217ace13 --- /dev/null +++ b/test/e2e/specs/floatingPlayerPgae.spec.ts @@ -0,0 +1,17 @@ +import { vpTest } from '../fixtures/vpTest'; +import { test } from '@playwright/test'; +import { waitForPageToLoadWithTimeout } from '../src/helpers/waitForPageToLoadWithTimeout'; +import { getLinkByName } from '../testData/pageLinksData'; +import { ExampleLinkName } from '../testData/ExampleLinkNames'; + +const link = getLinkByName(ExampleLinkName.FloatingPlayer); + +vpTest(`Test if video on floating player page is playing as expected`, async ({ page, pomPages }) => { + await test.step('Navigate to floating player page by clicking on link', async () => { + await pomPages.mainPage.clickLinkByName(link.name); + await waitForPageToLoadWithTimeout(page, 5000); + }); + await test.step('Validating that floating player video is playing', async () => { + await pomPages.floatingPlayerPage.floatingPlayerVideoComponent.validateVideoIsPlaying(true); + }); +}); diff --git a/test/e2e/src/pom/PageManager.ts b/test/e2e/src/pom/PageManager.ts index 83e9a50a..56075eb8 100644 --- a/test/e2e/src/pom/PageManager.ts +++ b/test/e2e/src/pom/PageManager.ts @@ -12,6 +12,7 @@ import { CodecsAndFormats } from './codecsAndFormats'; import { ColorsApiPage } from './colorsApiPage'; import { ComponentsPage } from './componentsPage'; import { DisplayConfigurationsPage } from './displayConfigurationsPage'; +import { FloatingPlayerPage } from './floatingPlayerPgae'; /** * Page manager, @@ -111,5 +112,9 @@ export class PageManager { public get displayConfigurationsPage(): DisplayConfigurationsPage { return this.getPage(DisplayConfigurationsPage); } + + public get floatingPlayerPage(): FloatingPlayerPage { + return this.getPage(FloatingPlayerPage); + } } export default PageManager; diff --git a/test/e2e/src/pom/floatingPlayerPgae.ts b/test/e2e/src/pom/floatingPlayerPgae.ts new file mode 100644 index 00000000..542508fd --- /dev/null +++ b/test/e2e/src/pom/floatingPlayerPgae.ts @@ -0,0 +1,16 @@ +import { Page } from '@playwright/test'; +import { VideoComponent } from '../../components/videoComponent'; +import { BasePage } from './BasePage'; +const FLOATING_PLAYER_PAGE_VIDEO_SELECTOR = '//*[@id="player_html5_api"]'; + +/** + * Video player examples Floating player page object + */ +export class FloatingPlayerPage extends BasePage { + public floatingPlayerVideoComponent: VideoComponent; + + constructor(page: Page) { + super(page); + this.floatingPlayerVideoComponent = new VideoComponent(page, FLOATING_PLAYER_PAGE_VIDEO_SELECTOR); + } +}