Что такое состояние Hover в веб-интерфейсах?

«Что такое состояние Hover в веб-интерфейсах?» — вопрос из категории Веб-тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Hover — это состояние интерактивного элемента интерфейса, когда пользователь наводит на него курсор мыши (или другой указатель), но не совершает клик.

Основные характеристики:

  • Обычно сопровождается визуальными изменениями (изменение цвета, фона, появление тени, подчеркивания).
  • Может вызывать появление дополнительных элементов (например, всплывающих подсказок — tooltips).

Что важно проверять в тестах:

  1. Визуальный feedback: Корректность применения CSS-стилей (:hover).
  2. Функциональность: Появление/исчезновение связанных элементов.
  3. Доступность: Работа с клавиатурной навигацией (часто через :focus).
  4. Кросс-браузерность и адаптивность.
  5. Поведение на тач-устройствах, где состояние hover может отсутствовать или эмулироваться.

Пример автоматизированной проверки (Playwright):

// Наведение курсора на кнопку и проверка стиля
const button = page.locator('.submit-btn');
await button.hover();

// Проверка изменения цвета фона
await expect(button).toHaveCSS('background-color', 'rgb(0, 120, 215)');

// Проверка появления тултипа
const tooltip = page.locator('.tooltip');
await expect(tooltip).toBeVisible();