Текстовые поля:
<input type="text"> - однострочное текстовое поле<textarea> - многострочное текстовое поле<input type="password"> - поле для пароляПример локатора в Selenium:
By usernameField = By.id("username");
Кнопки:
<button> - универсальная кнопка<input type="submit"> - кнопка отправки формы<input type="button"> - обычная кнопкаЧекбоксы и радиокнопки:
<input type="checkbox"> - флажок (множественный выбор)<input type="radio"> - радиокнопка (одиночный выбор)Выпадающие списки:
<select> с <option> - стандартный выпадающий списокСсылки:
<a href="..."> - гиперссылки#section), mailto:, tel:Меню и навигационные панели:
<nav>, <ul>, <li>Изображения:
<img src="..."> - статические изображения<picture> - адаптивные изображенияВидео и аудио:
<video> - встроенное видео<audio> - аудио контентТаблицы:
<table>, <tr>, <td>, <th>Списки:
<ul> - маркированный список<ol> - нумерованный список<dl> - список определенийСемантические элементы:
<header>, <footer>, <article>, <section><main>, <aside>, <nav>Элементы прогресса:
<progress> - индикатор выполнения<meter> - скалярное значение в диапазонеМодальные окна:
<div> с CSS/JS<dialog> (HTML5)Вкладки (Tabs):
<div> с атрибутами role="tab"Карусели (Sliders):
Основные стратегии локации в Selenium/Playwright:
// По ID (самый надежный способ)
By.id("elementId")
// По имени
By.name("username")
// По классу
By.className("btn-primary")
// По CSS-селектору
By.cssSelector("input[type='submit']")
// По XPath (мощно, но хрупко)
By.xpath("//button[contains(text(),'Submit')]")
Валидация состояний:
Проверка атрибутов:
Тестирование взаимодействия:
Визуальное тестирование:
знание веб-элементов и их свойств критически важно для QA-инженеров, особенно при автоматизации тестирования. Современные веб-приложения используют как стандартные HTML-элементы, так и сложные кастомные компоненты, требующие особых подходов к тестированию.