О чем спрашивают на собеседовании QA Junior: Selenium

Вопросы на собеседовании по Selenium — 10 самых частых вопросов

1. Что такое POM — Page Object Model?

POM — это дизайн-паттерн, создающий объектные репозитории веб-элементов.

В каждой странице должен быть соответствующий класс страницы отвечающий за поиск веб-элементов и действия с ними.

Применение паттерна POM улучшает читаемость и реюзабельность кода.

2. В чем разница между findElement() и findElements()?

findElement() запрашивает один элемент на странице. Возвращает объект первого найденного элемента по указанному локатору.

findElements() ищет все элементы на странице, подходящие к указанному значению локатора. Все подходящие элементы будут получены и сохранены в список.

Пример:

WebElement element = driver.findElement(By.id(example));

List <WebElement> elementList = driver.findElements(By.id(example));
  • findElement() вернет один веб-элемент.
  • findElements() вернет список веб-элементов.

3. Как сделать скролл в Selenium? 

Промотка выполняется методом scrollBy(). Синтаксис:

executeScript(“window.scrollBy(x-axis,y-axis)”);

Сначала создается JS-объект:

JavascriptExecutor is = (JavascriptExecutor) driver;

Дальше запускается AUT-приложение:

driver.get(“https://www.google.com”);

Дальше команда промотки к нужному месту:

js.executeScript(“window.scrollBy(0,1000)”);

4. Почему нельзя автоматизировать обход капчи через Selenium?

Потому что вся суть капчи — препятствовать таким вещам; чтобы боты/автоматизаторы не получали доступ к чувствительным данным. Поэтому Selenium не может автоматизировать обход.

5. Как обрабатывается всплывающее окно в Selenium?

Понадобится софт типа AutoIt, Robot, или подобный, который может интегрироваться с Selenium. Они “подхватывают” всплывающие окна (и другие подобные Windows-функции), не поддерживаемые в Selenium на нативном уровне.

6. Какие exceptions бывают в Selenium?

NoSuchElementException: для этого локатора не найден соответствующий элемент.

ElementNotVisibleException: элемент есть в DOM, но не видимый.

NoAlertPresentException: попытка переключиться к Alert Box, но окно не отображается.

NoSuchFrameException: попытка переключиться к фрейму, но этот фрейм не найден.

NoSuchWindowException: попытка переключиться к окну, окно не найдено.

UnexpectedAlertPresentException: неожиданное alert-предупреждение блокирует выполнение драйвера.

TimeoutException: выполнение команды завершено по таймауту (а действие так и не выполнено, страница не загрузилась)

InvalidElementStateException: состояние элемента не соответствует нужному действию.

NoSuchAttributeException: попытка подтянуть значение атрибута — но атрибут неверный.

WebDriverException: проблема с драйвером, не дающая ему запуститься.

7. Как выполнить операцию загрузки файла (upload) в Selenium?

sendKeys.

element.sendKeys(“путь к файлу”), далее:

<input type=”file” name=”fileUpload”>
  • через Robot API.
  • через AutoIT API.

8. Как запускается JavaScript-код в Selenium?

Код JavaScript выполняется в Selenium через интерфейс JavaScriptExecutor.

9. Зачем нужен Selenium Grid?

  • Выполняет тест-кейсы параллельно, благодаря чему экономит время
  • Мультибраузерное тестирование
  • Мультиплатформенное тестирование

10. Что такое локатор Selenium? Какие есть типы локаторов?

Это “адрес”, по которому находят веб-элемент. 

Это уникальный идентификатор веб-элемента на странице.

Существуют такие типы локаторов в Selenium:

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

Бонусный вопрос. Какие типы wait-ожиданий есть в Selenium?

Существует 3 типа wait-ожиданий:

  • Имплицитное
  • Эксплицитное
  • “Быстрое” (fluent)

***

А вот подборка статей о прохождении собеседований:

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

🔥 Популярное

💬 Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас