29 Часті питання та відповіді на інтерв’ю Selenium

Автоматизоване тестування: Ключові питання та відповіді для співбесіди з Selenium

Розробка програмного забезпечення включає кілька етапів, перш ніж продукт стає доступним для кінцевого користувача. Одним з найважливіших етапів є тестування, яке дозволяє виявити недоліки та переконатися, що програма функціонує належним чином.

У минулому, тестування програмного забезпечення проводилося вручну, що вимагало значних витрат часу та ресурсів. Для вирішення цих проблем було створено Selenium, інструмент для автоматизації тестування.

На сьогодні, Selenium є лідером на ринку автоматизованого тестування, і більшість фахівців з тестування активно його використовують. Якщо ви плануєте кар’єру в тестуванні, знання поширених питань, які задають на співбесіді щодо Selenium, дасть вам значну перевагу перед іншими кандидатами.

Нижче представлено перелік типових питань для співбесіди з Selenium та відповіді на них:

Що таке автоматизоване тестування?

Автоматизоване тестування – це процес, під час якого написання та виконання тестів програмного забезпечення здійснюється автоматично, за допомогою спеціальних інструментів, без прямої участі тестувальника. Завдяки цьому, тестувальник може багаторазово використовувати один і той же набір тестів.

Які переваги автоматизованого тестування?

  • Економія часу та фінансів: Автоматизоване тестування може бути вигіднішим у довгостроковій перспективі, оскільки зменшує витрати на ручне тестування.
  • Можливість повторного використання коду: Створені тестові сценарії можна багаторазово використовувати, що зменшує час на розробку.
  • Зниження людських помилок: Автоматизація підвищує точність тестування, мінімізуючи можливість людських помилок.
  • Підходить для великих проєктів: Автоматизоване тестування є особливо корисним для великих програм, які потребують значної кількості тестів.

Що таке Selenium?

Selenium – це безкоштовний набір інструментів з відкритим кодом для автоматизації тестування веб-додатків. Він був розроблений Джейсоном Хаггінсом у 2004 році та набув популярності завдяки сильній спільноті розробників. Selenium підтримує різні браузери та платформи.

Які існують форми Selenium?

Selenium – це не просто один інструмент, а цілий набір різних інструментів. До них належать:

  • Selenium IDE (Інтегроване середовище розробки)
  • Selenium WebDriver
  • Selenium Remote Control (RC)
  • Selenium Grid

Які мови програмування підтримує Selenium?

  • Python
  • Java
  • C#
  • JavaScript
  • Ruby
  • PHP
  • Perl

Які типи тестів підтримує Selenium?

Selenium в основному використовується для функціонального тестування веб-додатків.

Що таке Selenium WebDriver?

Selenium WebDriver відповідає за взаємодію з веб-браузерами. Він використовує можливості браузера для автоматизації різних дій.

Що таке Selenium IDE?

Selenium IDE – це плагін для Firefox, який дозволяє записувати та відтворювати тестові сценарії. Він спрощує процес створення автоматизованих тестів.

Що таке Selenium Grid?

Selenium Grid дозволяє виконувати тести на різних платформах та в різних середовищах одночасно.

Що таке Selenium RC (Remote Control)?

Selenium RC дозволяє створювати тестові сценарії на різних мовах програмування та виконувати їх у різних браузерах.

Що таке Selenese?

Selenese – це мова, яка використовується в Selenium IDE для написання команд. Ці команди допомагають Selenium зрозуміти, які дії потрібно виконати.

Які типи команд Selenese існують?

  • Дії: Команди, що змінюють стан програми, наприклад, “ввести текст у поле” або “натиснути на посилання”.
  • Аксесори: Команди, що зчитують стан програми та зберігають результати у змінних.
  • Твердження: Команди для перевірки стану програми.

Які підходи до пошуку елементів у Selenium?

  • ID
  • ClassName
  • Name
  • TagName
  • LinkText
  • PartialLinkText
  • XPath
  • CSS Selector
  • DOM

Що таке XPath?

XPath використовується для пошуку елементів на веб-сторінці на основі їх шляху в структурі XML (Extensible Markup Language). XML використовується для зберігання та передачі даних.

Яка різниця між “/” і “//” в XPath?

“/” (одинарний слеш) створює XPath з абсолютним шляхом, починаючи пошук від кореневого вузла документа.

“//” (подвійний слеш) створює XPath з відносним шляхом, починаючи пошук з будь-якого місця в документі.

Що таке абсолютний XPath?

Абсолютний XPath починається з “/” і визначає повний шлях від кореня до елемента.

Яка різниця між findElement() і findElements()?

  • findElements(): Повертає список усіх веб-елементів, які відповідають заданому критерію.
  • findElement(): Повертає перший веб-елемент, який відповідає заданому критерію.

Які типи анотацій використовуються в Selenium?

  • BeforeSuite
  • BeforeTest
  • BeforeClass
  • BeforeMethod
  • Test
  • AfterMethod
  • AfterClass
  • AfterTest
  • AfterSuite

Що таке твердження в Selenium?

Твердження використовуються для перевірки, чи програма функціонує правильно. Якщо твердження не виконується, виконання тесту припиняється.

Яка різниця між командами Assert та Verify?

  • Assert: Якщо умова твердження виконується, програма переходить до наступного кроку тесту. Якщо умова хибна, виконання тесту припиняється.
  • Verify: Виконання тесту продовжується незалежно від того, чи виконується умова перевірки.

Що таке політика одного походження і як Selenium її обробляє?

Політика одного походження обмежує взаємодію скриптів з ресурсами з різних джерел, підвищуючи безпеку.

Selenium використовує проксі-сервер для обходу цієї політики. Сервер Selenium виступає посередником між браузером і тестовою програмою, маскуючи реальну URL-адресу.

Що таке функція паузи в Selenium IDE?

Функція паузи в Selenium IDE дозволяє зупинити виконання тесту на певний період часу (у мілісекундах).

Чому тести Selenium IDE можуть не виконуватися?

  • Асинхронні сайти: Selenium створює тести у певному порядку, але деякі сайти використовують асинхронну архітектуру.
  • Тайм-аути: Selenium може не дочекатися завантаження компонента.
  • Помилки: У Selenium можуть виникати помилки, що призводять до збоїв тестів.
  • Зміни у вихідному коді: Зміни локаторів можуть спричинити збій тестів.

Що таке TestNG і які його особливості?

TestNG – це платформа автоматизації тестування, що є натхненною JUnit та NUnit. Це безкоштовний інструмент з відкритим вихідним кодом.

Особливості TestNG:

  • Різноманітні типи тверджень.
  • Паралельне виконання тестів.
  • Залежності між тестами.
  • Тестування на основі даних.
  • Групування тестів.

Яка різниця між неявним очікуванням та явним очікуванням?

  • Неявне очікування: Змушує WebDriver чекати певний час перед тим, як викликати виняток.
  • Явне очікування: Змушує WebDriver чекати певної умови або ExpectedConditions перед тим, як викликати виняток.

Що таке репозиторій об’єктів?

Репозиторій об’єктів – це централізоване місце, де зберігаються пари “ключ-значення” для ідентифікації об’єктів у автоматизованих тестах GUI.

Які винятки можуть виникати у WebDriver?

Винятки – це неочікувані події, що можуть порушити звичайний хід виконання програми. Ось основні винятки в Selenium:

  • NoSuchWindowException: Спроба переключитися на неіснуюче вікно.
  • NoSuchElementException: Елемент не знайдено.
  • NoAlertPresentException: Спроба переключитися на відсутнє сповіщення.
  • TimeoutException: Команда не виконалась протягом заданого часу.
  • ElementNotVisibleException.
  • ElementNotSelectableException: Елемент неможливо вибрати або натиснути.
  • SessionNotFoundException: WebDriver використовується після закриття браузера.

Перелічіть різні типи локаторів

  • ID
  • Name
  • ClassName
  • TagName
  • LinkText
  • PartialLinkText
  • CSS Selector
  • XPath

Що таке точки зупину та початкові точки?

  • Початкові точки: Місця, звідки починається виконання коду.
  • Точки зупину: Місця, де виконання коду зупиняється для перевірки.

Підведення

Це лише деякі з питань, які можуть виникнути під час співбесіди на посаду інженера з автоматизації тестування. Переконайтеся, що ви володієте необхідними навичками та знаннями, перш ніж подавати заявку на роботу.

Чи сподобався вам цей матеріал? Поділіться ним з іншими!