Якщо ви готуєтеся до співбесіди на позицію QA Automation інженера, то важливо ознайомитись із основними інструментами автоматизації тестування та розуміти принципи, на яких вони базуються. У цій статті ми зібрали найбільш поширені питання, що можуть виникнути під час співбесіди з автоматизованого тестування за допомогою популярних фреймворків Selenium, Playwright та Cypress. Цей список допоможе вам підготуватись та покрити основні аспекти автоматизованого тестування, щоб ви могли впевнено відповідати на запитання під час співбесіди.
Selenium

- Що таке Selenium WebDriver?
- Це API для автоматизації браузерів, що дозволяє взаємодіяти з елементами вебсторінки.
- Як налаштувати Selenium в Java?
- Встановлюєте необхідні бібліотеки через Maven або Gradle та створюєте WebDriver для потрібного браузера.
- Що таке XPath?
- Мова для пошуку елементів на сторінці, базуючись на їхніх атрибутах або ієрархії в DOM.
- Що таке CSS-селектори?
- Це метод пошуку елементів за допомогою CSS-правил, наприклад,
div.classname
.
- Це метод пошуку елементів за допомогою CSS-правил, наприклад,
- Як працювати з браузерними вікнами в Selenium?
- Використовуєте методи
getWindowHandles()
таswitchTo()
для перемикання між вікнами.
- Використовуєте методи
- Як працювати з JavaScript alert у Selenium?
- Використовуєте
Alert
об’єкт для взаємодії з alert вікнами (наприклад,switchTo().alert().accept()
).
- Використовуєте
- Як обробляти випадаючі списки в Selenium?
- Використовуєте клас
Select
для взаємодії з елементами select.
- Використовуєте клас
- Що таке Page Object Pattern в Selenium?
- Це патерн проєктування, який дозволяє створювати окремі класи для кожної вебсторінки.
- Що таке WebDriverWait в Selenium?
- Це механізм явного очікування елементів, поки вони не стануть доступними.
- Як взаємодіяти з чекбоксами в Selenium?
- Використовуєте методи
click()
для вибору/скасування вибору.
- Використовуєте методи
- Як робити знімки екрану в Selenium?
- Використовуєте
TakesScreenshot
для збереження знімків екрану.
- Використовуєте
- Як працювати з фреймами в Selenium?
- Використовуєте методи
switchTo().frame()
для перемикання між фреймами.
- Використовуєте методи
- Як виконати JavaScript код в Selenium?
- Використовуєте
JavascriptExecutor
для виконання коду на сторінці.
- Використовуєте
- Як працювати з cookies в Selenium?
- Використовуєте методи
getCookies()
,addCookie()
та інші для маніпуляцій з cookies.
- Використовуєте методи
- Що таке DesiredCapabilities в Selenium?
- Це клас, що дозволяє налаштувати параметри драйвера перед його запуском.
- Як перевірити наявність елемента в Selenium?
- Використовуєте методи
isDisplayed()
,isEnabled()
абоisSelected()
.
- Використовуєте методи
- Як взаємодіяти з таблицями в Selenium?
- Ви знаходите таблицю та працюєте з її рядками і стовпцями за допомогою XPath чи CSS-селекторів.
- Як вбудувати Selenium в CI/CD процеси?
- Інтегруєте Selenium тести з Jenkins або іншими системами CI/CD для автоматичного запуску тестів.
- Що таке Selenium Grid?
- Це інструмент для паралельного запуску тестів на кількох машинах або браузерах.
- Як перевірити текст на елементі в Selenium?
- Використовуєте метод
getText()
для отримання тексту елемента.
- Використовуєте метод
- Як обробляти поп-апи в Selenium?
- Використовуєте методи для взаємодії з alert, confirm або prompt через
switchTo()
.
- Використовуєте методи для взаємодії з alert, confirm або prompt через
- Як працювати з drag-and-drop в Selenium?
- Використовуєте
Actions
клас для перетягування елементів.
- Використовуєте
- Що таке Implicit Wait в Selenium?
- Це очікування, яке застосовується до всіх елементів на сторінці за замовчуванням.
- Як запустити Selenium тест в headless режимі?
- Використовуєте опцію
--headless
при налаштуванні драйвера.
- Використовуєте опцію
- Як працювати з API в Selenium?
- Використовуєте додаткові бібліотеки (наприклад, RestAssured) для взаємодії з API.
Playwright
- Що таке Playwright?
- Playwright — це фреймворк для автоматизації браузерів, який підтримує Chromium, Firefox та WebKit.
- Як налаштувати Playwright?
- Встановлюєте Playwright через npm і виконати
playwright install
для завантаження браузерів.
- Встановлюєте Playwright через npm і виконати
- Як створити тест в Playwright?
- Створюєте тестові функції за допомогою
test()
та використовуєтеpage
для взаємодії з браузером.
- Створюєте тестові функції за допомогою
- Як працювати з елементами в Playwright?
- Використовуєте
locator()
для знаходження елементів на сторінці.
- Використовуєте
- Що таке Page Object Model в Playwright?
- Це патерн, де кожна сторінка описується як окремий клас.
- Як здійснити чек на наявність елемента в Playwright?
- Використовуєте метод
locator.isVisible()
для перевірки видимості елемента.
- Використовуєте метод
- Як працювати з фреймами в Playwright?
- Використовуєте
frame()
для перемикання між фреймами.
- Використовуєте
- Що таке Playwright Test Runner?
- Це вбудований інструмент для запуску тестів у Playwright, який підтримує паралельне виконання.
- Як виконати JavaScript код в Playwright?
- Використовуєте
page.evaluate()
для виконання JS коду на сторінці.
- Використовуєте
- Як зробити знімок екрану в Playwright?
- Використовуєте метод
page.screenshot()
.
- Використовуєте метод
- Як працювати з cookies в Playwright?
- Використовуєте
context.cookies()
таcontext.addCookies()
для маніпуляцій з cookies.
- Використовуєте
- Як працювати з popup в Playwright?
- Використовуєте
page.on('popup', handler)
для обробки popup вікон.
- Використовуєте
- Що таке browserContext в Playwright?
- Це ізольоване середовище, яке дозволяє запускати тести з окремими cookies, кешем та сесіями.
- Як створити тест з кількома браузерами в Playwright?
- Використовуєте
browserType.launch()
для створення різних браузерів.
- Використовуєте
- Як працювати з drag-and-drop в Playwright?
- Використовуєте
locator.dragTo()
для перетягування елементів.
- Використовуєте
- Як змінити розмір вікна в Playwright?
- Використовуєте метод
page.setViewportSize()
.
- Використовуєте метод
- Як перевірити текст на сторінці в Playwright?
- Використовуєте
locator.textContent()
для отримання тексту елемента.
- Використовуєте
- Що таке Playwright Inspector?
- Інструмент для візуального дебагінгу тестів в браузері.
- Як працювати з відео в Playwright?
- Використовуєте опцію
video: { dir: 'path' }
для запису відео тесту.
- Використовуєте опцію
- Як зробити headless запуск в Playwright?
- Використовуєте параметр
{ headless: true }
під час ініціалізації браузера.
- Використовуєте параметр
- Як здійснити тестування мобільних застосунків в Playwright?
- Використовуєте емуляцію мобільного пристрою через метод
page.emulate()
.
- Використовуєте емуляцію мобільного пристрою через метод
- Як перевірити стан checkbox в Playwright?
- Використовуєте
locator.isChecked()
для перевірки стану.
- Використовуєте
- Як працювати з випадаючими списками в Playwright?
- Використовуєте метод
locator.selectOption()
для вибору елементів у випадаючих списках.
- Використовуєте метод
- Як зупинити тест у Playwright?
- Використовуєте
test.skip()
абоtest.fail()
для пропуску або невдачі тесту.
- Використовуєте
Cypress

- Що таке Cypress?
- Cypress — це інструмент для автоматизації тестування, який працює безпосередньо в браузері.
- Як налаштувати Cypress?
- Встановлюєте Cypress через npm та виконуєте команду
npx cypress open
для запуску.
- Встановлюєте Cypress через npm та виконуєте команду
- Як створити тест у Cypress?
- Використовуєте
describe()
таit()
для створення тестових випадків.
- Використовуєте
- Як працювати з елементами в Cypress?
- Використовуєте методи
cy.get()
,cy.click()
,cy.type()
для взаємодії з елементами.
- Використовуєте методи
- Як перевірити видимість елемента в Cypress?
- Використовуєте
cy.get('element').should('be.visible')
.
- Використовуєте
- Як виконати знімок екрану в Cypress?
- Використовуєте команду
cy.screenshot()
для збереження знімку екранів.
- Використовуєте команду
- Що таке Cypress Fixtures?
- Це файли з тестовими даними, які можна використовувати в тестах через
cy.fixture()
.
- Це файли з тестовими даними, які можна використовувати в тестах через
- Як працювати з API в Cypress?
- Використовуєте
cy.request()
для виконання запитів до API.
- Використовуєте
- Як працювати з cookies в Cypress?
- Використовуєте
cy.getCookies()
,cy.setCookie()
для маніпуляцій з cookies.
- Використовуєте
- Як працювати з фреймами в Cypress?
- Використовуєте
cy.iframe()
для взаємодії з фреймами.
- Використовуєте
- Як взаємодіяти з чекбоксами в Cypress?
- Використовуєте
cy.get('checkbox').check()
абоcy.get('checkbox').uncheck()
.
- Використовуєте
- Як перевірити стан елемента в Cypress?
- Використовуєте
should('exist')
,should('have.text', 'value')
.
- Використовуєте
- Що таке Cypress Dashboard?
- Це вебінтерфейс для моніторингу виконання тестів та звітності.
- Як використовувати Cypress у CI/CD?
- Інтегруєте Cypress з Jenkins або іншими системами CI для автоматичного запуску тестів.
- Як організувати тести в Cypress?
- Використовуєте
describe()
,context()
для групування тестів.
- Використовуєте
- Як зробити headless запуск в Cypress?
- Використовуєте параметр
headless
під час запуску через командний рядок.
- Використовуєте параметр
- Як тестувати адаптивний дизайн в Cypress?
- Використовуєте
cy.viewport()
для зміни розміру вікна.
- Використовуєте
- Як працювати з запитами в Cypress?
- Використовуєте
cy.intercept()
для перехоплення і модифікації запитів.
- Використовуєте
- Як виконати JavaScript код в Cypress?
- Використовуєте
cy.window().then()
для доступу до об’єктів браузера.
- Використовуєте
- Як працювати з відео в Cypress?
- Відео записується автоматично під час виконання тестів у CI.
- Як зупинити тест у Cypress?
- Використовуєте
cy.pause()
для призупинення тесту абоcy.stop()
для його зупинки.
- Використовуєте
Висновок
Підготовка до співбесіди на позицію QA Automation вимагає ґрунтовного розуміння основ автоматизованого тестування та вміння працювати з фреймворками, такими як Selenium, Playwright і Cypress. Знання основних методів роботи з цими інструментами допоможе вам ефективно проходити співбесіду. Окрім теоретичних знань, не забувайте про практичні навички — створення тестів, налаштування середовища та вміння швидко знаходити помилки в коді.
Успіхів у підготовці!