Питання на співбесіді з Playwright (Middle) з відповідями
75 запитань для співбесіди з теми Playwright (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Що змінює
fullyParallel: true? - 2.Чому в багатьох конфігах пишуть
workers: process.env.CI ? 1 : undefined? - 3.Чого досягає
retries: process.env.CI ? 2 : 0? - 4.Що означає тест із позначкою "flaky" у звіті Playwright?
- 5.Від чого захищає
forbidOnly: !!process.env.CI? - 6.Чим
actionTimeoutвідрізняється відtimeoutтесту? - 7.Як змінити опції на кшталт locale лише для однієї групи тестів?
- 8.Як створити власну фікстуру?
- 9.Коли виконується код прибирання у фікстурі?
- 10.Що таке фікстура з областю воркера?
- 11.Що робить
{ auto: true }для фікстури? - 12.Який рекомендований спосіб увійти один раз і перевикористати сесію?
- 13.Як протестувати дві різні ролі в одному тесті, наприклад адміна й користувача?
- 14.Навіщо потрібні
dependenciesпроєктів? - 15.Чому setup-проєкт кращий за
globalSetup? - 16.Що робить цей route?
- 17.Як імітувати помилку сервера для одного ендпоінту?
- 18.Як трохи змінити справжню відповідь API, наприклад одне поле?
- 19.Що робить
route.abort()? - 20.Як дочекатися конкретної відповіді API після клацання?
- 21.Для чого потрібен
routeFromHAR? - 22.Як параметризувати тест кількома вхідними даними?
- 23.Як передати значення на кшталт ролі користувача через опції проєкту?
- 24.Що дає
test.step? - 25.Що робить
expect.soft? - 26.Коли корисний
expect.poll? - 27.Як додати власне повідомлення до перевірки?
- 28.Як прикріпити файл чи текст до звіту тесту?
- 29.Що стається, коли
toHaveScreenshot()запускається вперше? - 30.Чому еталони скриншотів часто зберігають окремо для кожної платформи?
- 31.Як сховати змінний елемент, як-от годинник, у скриншот-тесті?
- 32.Що робить
locator.or()? - 33.Що робить
locator.and()? - 34.Як знайти елементи списку, що НЕ містять мітки "Sold out"?
- 35.Чи працюють локатори Playwright усередині відкритого shadow DOM?
- 36.Чим ризиковий
force: trueпри клацанні? - 37.Що робить
locator.waitFor()? - 38.Чому
await locator.isVisible()може давати нестабільні тести? - 39.Чому
waitForLoadState('networkidle')не радять? - 40.Як виконати код на сторінці до завантаження будь-яких її скриптів?
- 41.Що робить
page.evaluate()? - 42.Як перевірити поведінку сторінки офлайн?
- 43.Як протестувати функцію, що залежить від місцезнаходження?
- 44.Як протестувати стилі темної теми?
- 45.З чим допомагає
page.clock? - 46.Як перетягнути елемент на зону скидання?
- 47.Що робить
trial: trueу дії? - 48.Як прочитати тексти всіх знайдених елементів?
- 49.Яка перевірка дивиться на тексти всього списку по порядку?
- 50.Що робить
npx playwright test --last-failed? - 51.Як перевірити локально, чи тест нестабільний?
- 52.Що робить
video: 'retain-on-failure'? - 53.Для чого потрібен blob-репортер?
- 54.Який репортер поширений для CI-систем на кшталт Jenkins чи GitLab?
- 55.Навіщо використовувати офіційний Docker-образ Playwright у CI?
- 56.Які артефакти CI-джоба має зберегти після невдалого запуску Playwright?
- 57.Що зазвичай містить Page Object?
- 58.Чому page object часто надають через фікстури?
- 59.Де мають бути перевірки в Page Object Model?
- 60.Що робить
test.describe.configure({ retries: 3 })? - 61.Як тест може дізнатися, що він іде як повтор?
- 62.Що стається з процесом воркера після падіння тесту?
- 63.Як завантажити значення під середовище, як-от URL staging?
- 64.Як перевірити сторінку на проблеми доступності в тесті Playwright?
- 65.Що порівнює
toMatchAriaSnapshot? - 66.Який локатор фільтрує чекбокси за станом позначки, як у перемикача?
- 67.Як впоратися з банером згоди на cookies, що з'являється випадково?
- 68.Як розділити тестові дані, коли тести йдуть у паралельних воркерах?
- 69.Що робить
test.describe.configure({ mode: 'serial' }), коли тест падає? - 70.Як зробити API-запит із cookies сторінки, де вже виконано вхід?
- 71.Як створити контекст запитів із заголовком авторизації для API-тестів?
- 72.Навіщо поєднувати підготовку через API з перевірками UI в одному тесті?
- 73.Яка опція
useзаписує трейси лише для впалих тестів? - 74.Що видно в trace viewer для кожної дії?
- 75.Як перевірити, що запит надсилається з правильним тілом?