locator.setInputFiles задаёт путь к файлу для <input type=file>, включая multiple и буферные файлы без реального OS-диалога.
Разбор
- Не нужно кликать системный file chooser в обычном случае.
- Для кастомных dropzone — иногда
page.on('filechooser').
- Фикстуры файлов хранят в
tests/fixtures.
- Проверяйте и UI, и сторону сервера (API) при необходимости.
Пример
await page.getByLabel('Attachment').setInputFiles('tests/fixtures/a.pdf');
Итог
Upload в Playwright детерминирован через setInputFiles/filechooser, без ручных диалогов.