Отказ от ответственности: это статья для заметок.
Предположим, у вас уже есть приложение, и вы хотите добавить Playwright в качестве инструмента комплексного тестирования.
Добавьте зависимость от разработчиков.
Давайте добавим нашу зависимость для разработчиков, используя Yarn
в наш package.json
. Вы также можете использовать npm
.
yarn add --dev @playwright/test
Обратите внимание, что я буду использовать @playwright/test
(Тест драматурга), а не playwright
. См. https://playwright.dev/docs/library
Создайте первый тест
Все монолитные PHP-фреймворки имеют эту папку tests
, и я буду использовать эту папку для своего первого теста. Но если ваш внешний интерфейс отделен от внутреннего, то есть не является монолитной настройкой, вы можете создать отдельную папку tests
на своем внешнем интерфейсе. А пока давайте придерживаться основного.
Давайте создадим наш новый тестовый файл, выполнив команду ниже.
# Don't use hypen (ex. home-test.js) touch tests/home.test.js
И ставим наш основной тест.
// tests/home.test.js import { test, expect } from '@playwright/test'; test('should be titled', async ({ page }) => { await page.goto('https://collideborate.me/web/songs/lyrics-chords?songId=38'); await expect(page).toHaveTitle('God is good all the time'); });
Нет необходимости объяснять, что делает код, потому что API прост для понимания. Теперь побегаем…
npx playwright test tests # OR npx playwright test tests/home.test # OR npx playwright test tests/home.test.js
Мы должны получить результат ниже.
Running 1 test using 1 worker ✓ 1 tests/home.test.js:5:5 › should be titled (755ms) 1 passed (1.6s)
Конфигурация
Если вы хотите запустить тест с собственной конфигурацией (https://playwright.dev/docs/api/class-testconfig). Мы можем сделать следующее:
// playwright.config.ts import { defineConfig } from '@playwright/test'; export default defineConfig({ timeout: 30000, globalTimeout: 600000, reporter: 'list', testDir: './tests', });
Запустите тест с нашей конфигурацией.
npx playwright test --config=playwright.config.js
Поиск неисправностей
Если вы столкнулись с приведенной ниже ошибкой при запуске npx playwright test tests
в CentOS…
Host system is missing dependencies to run browsers. Missing libraries: libatk-1.0.so.0 libatk-bridge-2.0.so.0 libcups.so.2 libatspi.so.0 libXcomposite.so.1 libXrandr.so.2 libxkbcommon.so.0 libpango-1.0.so.0 libcairo.so.2 libasound.so.2
Установите эту системную зависимость.
yum -y install libappindicator-gtk3 yum -y install liberation-fonts yum -y install alsa-lib
Создание тестов с помощью CodeGen
Написание тестов — утомительное занятие, и здесь в дело вступает CodeGen. Вы можете использовать этот инструмент, установив расширение VSCode или выполнив команду на своем терминале.
[Продолжение следует]
Вся слава принадлежит Богу наверху!