Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions test/e2e/specs/ESM/esmAutoplayOnScroll.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { vpTest } from '../../fixtures/vpTest';
import { ESM_URL } from '../../testData/esmUrl';
import { ExampleLinkName } from '../../testData/ExampleLinkNames';
import { getEsmLinkByName } from '../../testData/esmPageLinksData';
import { testAutoplayOnScrollPageVideoIsPlaying } from '../commonSpecs/autoplayOnScrollVideoPlaying';

const link = getEsmLinkByName(ExampleLinkName.AutoplayOnScroll);

vpTest(`Test if video on ESM autoplay on scroll page is playing as expected`, async ({ page, pomPages }) => {
await page.goto(ESM_URL);
await testAutoplayOnScrollPageVideoIsPlaying(page, pomPages, link);
});
23 changes: 3 additions & 20 deletions test/e2e/specs/NonESM/autoplayOnScrollPage.spec.ts
Original file line number Diff line number Diff line change
@@ -1,28 +1,11 @@
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';
import { testAutoplayOnScrollPageVideoIsPlaying } from '../commonSpecs/autoplayOnScrollVideoPlaying';

// Link to autoplay on scroll page
const link = getLinkByName(ExampleLinkName.AutoplayOnScroll);
/**
* Testing if video on autoplay on scroll page is playing.
* First making sure that video is not playing before scrolling.
* Then, scroll until video element is visible and make sure video is playing by checking that is pause return false.
*/

vpTest(`Test if video on autoplay on scroll page is playing as expected`, async ({ page, pomPages }) => {
await test.step('Navigate to autoplay on scroll page by clicking on link', async () => {
await pomPages.mainPage.clickLinkByName(link.name);
await waitForPageToLoadWithTimeout(page, 5000);
});
await test.step('Validating that the video is not playing before scrolling', async () => {
await pomPages.autoplayOnScrollPage.autoplayOnScrollVideoComponent.validateVideoIsPlaying(false);
});
await test.step('Scroll until the video element is visible', async () => {
await pomPages.autoplayOnScrollPage.autoplayOnScrollVideoComponent.locator.scrollIntoViewIfNeeded();
});
await test.step('Validating that the video is auto playing after scrolling', async () => {
await pomPages.autoplayOnScrollPage.autoplayOnScrollVideoComponent.validateVideoIsPlaying(true);
});
await testAutoplayOnScrollPageVideoIsPlaying(page, pomPages, link);
});
20 changes: 20 additions & 0 deletions test/e2e/specs/commonSpecs/autoplayOnScrollVideoPlaying.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { Page, test } from '@playwright/test';
import { waitForPageToLoadWithTimeout } from '../../src/helpers/waitForPageToLoadWithTimeout';
import PageManager from '../../src/pom/PageManager';
import { ExampleLinkType } from '../../types/exampleLinkType';

export async function testAutoplayOnScrollPageVideoIsPlaying(page: Page, pomPages: PageManager, link: ExampleLinkType) {
await test.step('Navigate to autoplay on scroll page by clicking on link', async () => {
await pomPages.mainPage.clickLinkByName(link.name);
await waitForPageToLoadWithTimeout(page, 5000);
});
await test.step('Validating that the video is not playing before scrolling', async () => {
await pomPages.autoplayOnScrollPage.autoplayOnScrollVideoComponent.validateVideoIsPlaying(false);
});
await test.step('Scroll until the video element is visible', async () => {
await pomPages.autoplayOnScrollPage.autoplayOnScrollVideoComponent.locator.scrollIntoViewIfNeeded();
});
await test.step('Validating that the video is auto playing after scrolling', async () => {
await pomPages.autoplayOnScrollPage.autoplayOnScrollVideoComponent.validateVideoIsPlaying(true);
});
}