const { test, expect } = require('@playwright/test');
test('Проверка доступности и заголовка главной страницы Pingera', async ({ page }) => {
await page.goto('https://pingera.ru/');
await page.waitForLoadState('networkidle');
await expect(page).toHaveTitle(/Pingera/);
await page.screenshot({ path: 'screenshot.jpg', fullPage: false });
console.log('Успешно сделали скриншот страницы');
});// Пример использования Page Object Model
// playwright-dev-page.js
const { expect } = require('@playwright/test');
exports.PlaywrightDevPage = class PlaywrightDevPage {
constructor(page) {
this.page = page;
this.getStartedLink = page.locator('a', { hasText: 'Get started' });
this.gettingStartedHeader = page.locator('h1', { hasText: 'Installation' });
}
async goto() {
await this.page.goto('https://playwright.dev');
}
async getStarted() {
await this.getStartedLink.first().click();
await expect(this.gettingStartedHeader).toBeVisible();
}
};
// example.spec.js
const { test } = require("@playwright/test");
const { PlaywrightDevPage } = require("./playwright-dev-page");
test("getting started should contain table of contents", async ({ page }) => {
const playwrightDev = new PlaywrightDevPage(page);
await playwrightDev.goto();
await playwrightDev.getStarted();
});