Підготовка до співбесіди QA Automation (Автоматизований тестувальник)

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

Selenium

ACCELQ Powered with Selenium minus Complexities | ACCELQ
  1. Що таке Selenium WebDriver?
    • Це API для автоматизації браузерів, що дозволяє взаємодіяти з елементами вебсторінки.
  2. Як налаштувати Selenium в Java?
    • Встановлюєте необхідні бібліотеки через Maven або Gradle та створюєте WebDriver для потрібного браузера.
  3. Що таке XPath?
    • Мова для пошуку елементів на сторінці, базуючись на їхніх атрибутах або ієрархії в DOM.
  4. Що таке CSS-селектори?
    • Це метод пошуку елементів за допомогою CSS-правил, наприклад, div.classname.
  5. Як працювати з браузерними вікнами в Selenium?
    • Використовуєте методи getWindowHandles() та switchTo() для перемикання між вікнами.
  6. Як працювати з JavaScript alert у Selenium?
    • Використовуєте Alert об’єкт для взаємодії з alert вікнами (наприклад, switchTo().alert().accept()).
  7. Як обробляти випадаючі списки в Selenium?
    • Використовуєте клас Select для взаємодії з елементами select.
  8. Що таке Page Object Pattern в Selenium?
    • Це патерн проєктування, який дозволяє створювати окремі класи для кожної вебсторінки.
  9. Що таке WebDriverWait в Selenium?
    • Це механізм явного очікування елементів, поки вони не стануть доступними.
  10. Як взаємодіяти з чекбоксами в Selenium?
    • Використовуєте методи click() для вибору/скасування вибору.
  11. Як робити знімки екрану в Selenium?
    • Використовуєте TakesScreenshot для збереження знімків екрану.
  12. Як працювати з фреймами в Selenium?
    • Використовуєте методи switchTo().frame() для перемикання між фреймами.
  13. Як виконати JavaScript код в Selenium?
    • Використовуєте JavascriptExecutor для виконання коду на сторінці.
  14. Як працювати з cookies в Selenium?
    • Використовуєте методи getCookies(), addCookie() та інші для маніпуляцій з cookies.
  15. Що таке DesiredCapabilities в Selenium?
    • Це клас, що дозволяє налаштувати параметри драйвера перед його запуском.
  16. Як перевірити наявність елемента в Selenium?
    • Використовуєте методи isDisplayed(), isEnabled() або isSelected().
  17. Як взаємодіяти з таблицями в Selenium?
    • Ви знаходите таблицю та працюєте з її рядками і стовпцями за допомогою XPath чи CSS-селекторів.
  18. Як вбудувати Selenium в CI/CD процеси?
    • Інтегруєте Selenium тести з Jenkins або іншими системами CI/CD для автоматичного запуску тестів.
  19. Що таке Selenium Grid?
    • Це інструмент для паралельного запуску тестів на кількох машинах або браузерах.
  20. Як перевірити текст на елементі в Selenium?
    • Використовуєте метод getText() для отримання тексту елемента.
  21. Як обробляти поп-апи в Selenium?
    • Використовуєте методи для взаємодії з alert, confirm або prompt через switchTo().
  22. Як працювати з drag-and-drop в Selenium?
    • Використовуєте Actions клас для перетягування елементів.
  23. Що таке Implicit Wait в Selenium?
    • Це очікування, яке застосовується до всіх елементів на сторінці за замовчуванням.
  24. Як запустити Selenium тест в headless режимі?
    • Використовуєте опцію --headless при налаштуванні драйвера.
  25. Як працювати з API в Selenium?
    • Використовуєте додаткові бібліотеки (наприклад, RestAssured) для взаємодії з API.

Playwright

Next-Level Web Testing: Embracing Playwright over Selenium
  1. Що таке Playwright?
    • Playwright — це фреймворк для автоматизації браузерів, який підтримує Chromium, Firefox та WebKit.
  2. Як налаштувати Playwright?
    • Встановлюєте Playwright через npm і виконати playwright install для завантаження браузерів.
  3. Як створити тест в Playwright?
    • Створюєте тестові функції за допомогою test() та використовуєте page для взаємодії з браузером.
  4. Як працювати з елементами в Playwright?
    • Використовуєте locator() для знаходження елементів на сторінці.
  5. Що таке Page Object Model в Playwright?
    • Це патерн, де кожна сторінка описується як окремий клас.
  6. Як здійснити чек на наявність елемента в Playwright?
    • Використовуєте метод locator.isVisible() для перевірки видимості елемента.
  7. Як працювати з фреймами в Playwright?
    • Використовуєте frame() для перемикання між фреймами.
  8. Що таке Playwright Test Runner?
    • Це вбудований інструмент для запуску тестів у Playwright, який підтримує паралельне виконання.
  9. Як виконати JavaScript код в Playwright?
    • Використовуєте page.evaluate() для виконання JS коду на сторінці.
  10. Як зробити знімок екрану в Playwright?
    • Використовуєте метод page.screenshot().
  11. Як працювати з cookies в Playwright?
    • Використовуєте context.cookies() та context.addCookies() для маніпуляцій з cookies.
  12. Як працювати з popup в Playwright?
    • Використовуєте page.on('popup', handler) для обробки popup вікон.
  13. Що таке browserContext в Playwright?
    • Це ізольоване середовище, яке дозволяє запускати тести з окремими cookies, кешем та сесіями.
  14. Як створити тест з кількома браузерами в Playwright?
    • Використовуєте browserType.launch() для створення різних браузерів.
  15. Як працювати з drag-and-drop в Playwright?
    • Використовуєте locator.dragTo() для перетягування елементів.
  16. Як змінити розмір вікна в Playwright?
    • Використовуєте метод page.setViewportSize().
  17. Як перевірити текст на сторінці в Playwright?
    • Використовуєте locator.textContent() для отримання тексту елемента.
  18. Що таке Playwright Inspector?
    • Інструмент для візуального дебагінгу тестів в браузері.
  19. Як працювати з відео в Playwright?
    • Використовуєте опцію video: { dir: 'path' } для запису відео тесту.
  20. Як зробити headless запуск в Playwright?
    • Використовуєте параметр { headless: true } під час ініціалізації браузера.
  21. Як здійснити тестування мобільних застосунків в Playwright?
    • Використовуєте емуляцію мобільного пристрою через метод page.emulate().
  22. Як перевірити стан checkbox в Playwright?
    • Використовуєте locator.isChecked() для перевірки стану.
  23. Як працювати з випадаючими списками в Playwright?
    • Використовуєте метод locator.selectOption() для вибору елементів у випадаючих списках.
  24. Як зупинити тест у Playwright?
    • Використовуєте test.skip() або test.fail() для пропуску або невдачі тесту.

Cypress

What's new in Cypress 11?. Cypress 11 is the new version of… | by Nazneen  Ahmad | Medium
  1. Що таке Cypress?
    • Cypress — це інструмент для автоматизації тестування, який працює безпосередньо в браузері.
  2. Як налаштувати Cypress?
    • Встановлюєте Cypress через npm та виконуєте команду npx cypress open для запуску.
  3. Як створити тест у Cypress?
    • Використовуєте describe() та it() для створення тестових випадків.
  4. Як працювати з елементами в Cypress?
    • Використовуєте методи cy.get(), cy.click(), cy.type() для взаємодії з елементами.
  5. Як перевірити видимість елемента в Cypress?
    • Використовуєте cy.get('element').should('be.visible').
  6. Як виконати знімок екрану в Cypress?
    • Використовуєте команду cy.screenshot() для збереження знімку екранів.
  7. Що таке Cypress Fixtures?
    • Це файли з тестовими даними, які можна використовувати в тестах через cy.fixture().
  8. Як працювати з API в Cypress?
    • Використовуєте cy.request() для виконання запитів до API.
  9. Як працювати з cookies в Cypress?
    • Використовуєте cy.getCookies(), cy.setCookie() для маніпуляцій з cookies.
  10. Як працювати з фреймами в Cypress?
    • Використовуєте cy.iframe() для взаємодії з фреймами.
  11. Як взаємодіяти з чекбоксами в Cypress?
    • Використовуєте cy.get('checkbox').check() або cy.get('checkbox').uncheck().
  12. Як перевірити стан елемента в Cypress?
    • Використовуєте should('exist'), should('have.text', 'value').
  13. Що таке Cypress Dashboard?
    • Це вебінтерфейс для моніторингу виконання тестів та звітності.
  14. Як використовувати Cypress у CI/CD?
    • Інтегруєте Cypress з Jenkins або іншими системами CI для автоматичного запуску тестів.
  15. Як організувати тести в Cypress?
    • Використовуєте describe(), context() для групування тестів.
  16. Як зробити headless запуск в Cypress?
    • Використовуєте параметр headless під час запуску через командний рядок.
  17. Як тестувати адаптивний дизайн в Cypress?
    • Використовуєте cy.viewport() для зміни розміру вікна.
  18. Як працювати з запитами в Cypress?
    • Використовуєте cy.intercept() для перехоплення і модифікації запитів.
  19. Як виконати JavaScript код в Cypress?
    • Використовуєте cy.window().then() для доступу до об’єктів браузера.
  20. Як працювати з відео в Cypress?
    • Відео записується автоматично під час виконання тестів у CI.
  21. Як зупинити тест у Cypress?
    • Використовуєте cy.pause() для призупинення тесту або cy.stop() для його зупинки.

Висновок

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

Успіхів у підготовці!