Код IT
← Каталог

Playwright — Page Factory — фабрика страниц

Фрагмент из «Playwright»: Page Factory — фабрика страниц.

typescript projectencyclopedia7-05-testirovanie-1182 embed URL статья в энциклопедии
TypeScript main.ts
// pages/PageFactory.ts

import { Page } from '@playwright/test';
import { LoginPage } from './LoginPage';
import { CatalogPage } from './CatalogPage';

export class PageFactory {
  constructor(private page: Page) {}

  loginPage() {
    return new LoginPage(this.page);
  }

  catalogPage() {
    return new CatalogPage(this.page);
  }
}

// tests/checkout.spec.ts
test('оформление заказа', async ({ page }) => {
  const pages = new PageFactory(page);
  await pages.loginPage().login('qa@test.local', 'Secret123!');
  await pages.catalogPage().addFirstItemToCart();
});
// pages/PageFactory.ts

import { Page } from '@playwright/test';
import { LoginPage } from './LoginPage';
import { CatalogPage } from './CatalogPage';

export class PageFactory {
  constructor(private page: Page) {}

  loginPage() {
    return new LoginPage(this.page);
  }

  catalogPage() {
    return new CatalogPage(this.page);
  }
}

// tests/checkout.spec.ts
test('оформление заказа', async ({ page }) => {
  const pages = new PageFactory(page);
  await pages.loginPage().login('qa@test.local', 'Secret123!');
  await pages.catalogPage().addFirstItemToCart();
});