Fixtures — механизм внедрения зависимостей в тест (page, context, browser, кастомные): setup/teardown объявляются один раз и переиспользуются.
Разбор
test.extend создаёт свои fixtures (API client, authenticated page).
- Изоляция: каждый тест получает свежий
page по умолчанию.
- Worker-scoped fixtures шарятся между тестами воркера — осторожно с мутабельным state.
- Заменяют часть boilerplate beforeEach.
Пример
const test = base.extend({
api: async ({ request }, use) => {
await use(request);
},
});
test('creates user', async ({ api }) => {
const res = await api.post('/users', { data: { name: 'A' } });
expect(res.ok()).toBeTruthy();
});
Итог
Fixtures — каркас тестового рантайма Playwright: чистые зависимости вместо копипасты setup.