Прочитать на английском

Поделиться через


Использование Playwright для автоматизации и тестирования в Microsoft Edge

Библиотека Playwright обеспечивает автоматизацию между браузерами с помощью одного API.

Playwright — это библиотекаNode.js для автоматизации Chromium, Firefox и WebKit с помощью одного API. Playwright создан для включения межбраузерной веб-автоматизации, которая является вечнозеленой, способной, надежной и быстрой. Так как Microsoft Edge основан на веб-платформе с открытым кодом Chromium, Playwright также может автоматизировать Microsoft Edge.

Playwright запускает браузеры без головы по умолчанию. Браузеры без головы не отображают пользовательский интерфейс, поэтому вместо этого необходимо использовать командную строку. Вы также можете настроить Playwright для запуска полного (без головного) Microsoft Edge.

Установка Playwright и браузеров

Примечание

Для драматурга требуется Node.js версии 12 или более поздней. Запустите node -v из командной строки, чтобы убедиться, что у вас есть совместимая версия Node.js. Двоичные файлы браузера для Chromium, Firefox и WebKit работают в Windows, macOS и Linux. Дополнительные сведения см. в разделе Требования к системе Playwright.

Сначала установите Playwright Test для тестирования веб-сайта или приложения:

npm i -D @playwright/test

Чтобы установить браузеры, выполните следующую команду, которая скачивает Chromium, Firefox и WebKit:

npx playwright install 

Запуск базового теста

Подход, используемый Playwright, будет знаком пользователям других платформ тестирования браузеров, таких как WebDriver или Puppeteer. Вы можете создать экземпляр браузера, открыть страницу в браузере, а затем управлять страницей с помощью API Playwright.

Playwright Test, который является тест-runner Playwright, запускает браузер и контекст для вас. Затем изолированная страница передается в каждый тест, как показано в следующем базовом тесте:

// tests/foo.spec.ts
import { test, expect } from '@playwright/test';

test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const title = page.locator('.navbar__inner .navbar__title');
  await expect(title).toHaveText('Playwright');
});

Теперь выполните тесты следующим образом:

npx playwright test

Дополнительные сведения о выполнении тестов см. в статье Приступая к работе с Playwright>.

Выполнение тестов в Microsoft Edge

Чтобы выполнить тесты в Microsoft Edge, необходимо создать файл конфигурации для теста Playwright, например playwright.config.ts. В файле конфигурации создайте один проект с помощью Microsoft Edge.

// playwright.config.ts
import { PlaywrightTestConfig } from '@playwright/test';

const config: PlaywrightTestConfig = {
  projects: [
    {
      name: 'Microsoft Edge',
      use: {
        // Supported Microsoft Edge channels are: msedge, msedge-beta, msedge-dev, msedge-canary
        channel: 'msedge',
      },
    },
  ],
};

export default config

Если Microsoft Edge еще не установлен в вашей системе, установите его через Playwright следующим образом:

npx playwright install msedge

При использовании приведенного выше playwright.config.ts файла playwright Test использует Microsoft Edge для выполнения тестов следующим образом:

npx playwright test --headed

Использование Playwright в качестве библиотеки

Вы также можете использовать Playwright в качестве библиотеки, как показано в следующем коде. Такой подход позволяет использовать другое средство выполнения тестов.

// example.js
const playwright = require('playwright');

(async () => {
  const browser = await playwright.chromium.launch({
    channel: 'msedge',
  });
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://www.microsoft.com/edge');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();

Файл example.png, созданный example.js

example.js — это простая демонстрация сценариев автоматизации и тестирования, которые включены Playwright. Чтобы сделать снимки экрана в других веб-браузерах, измените приведенный выше код с await playwright.chromium.launch на следующий:

Firefox:

  const browser = await playwright.firefox.launch({

Webkit:

  const browser = await playwright.webkit.launch({

Дополнительные сведения о playwright и playwright Test см. на веб-сайте Playwright. Ознакомьтесь с репозиторием Playwright на сайте GitHub. Чтобы поделиться своими отзывами об автоматизации и тестировании веб-сайта или приложения в Playwright, отправьте сообщение о проблеме.

См. также