воскресенье, 26 мая 2024 г.

CSS, XPath: локаторы или селекторы? Разбираемся в терминах

 Я обычно слышу такие словосочетания для поиска элементов на HTML-странице:

  • CSS-селекторы
  • XPath-локаторы
Но как правильно их называть? 



Можно ли и то, и то назвать селекторами? Или локаторами? Сходила за уточнениями к Алексею Баранцеву, разработчику инструмента Selenium и автору курсов по автоматизации тестирования (где селекторы и применяем). Итак:

1. Формально правильно говорить CSS Selectors и XPath, потому что CSS это не только селекторы, но и стили. Селекторы это только часть языка описания стилей CSS, а XPath это специализированный язык запросов

2. Про XPath обычно говорят, что это "запросы" (query)

3. Локаторы — это общее название всех механизмов поиска элементов, то есть не только CSS-селекторы и XPath, но и некоторые другие (в том числе специфические для мобильных приложений, где CSS-селекторы и XPath не применимы)

Различные виды локаторов с примерами, в том числе для мобильных приложений, можно посмотреть тут: https://habr.com/ru/articles/795103/.

В статье можно увидеть, что есть ещё один вид локаторов, где тоже встречается слово "селектор", это UiSelector для Android. Причем там есть такая цитата:

Этот парсер доступен через локатор - android uiautomator. Селекторы должны быть строками, состоящие из фрагментов Java-кода, начинающиеся с new UiSelector()

То есть локатор — инструмент, позволяющий написать наш селектор (от слова select — выборка). Как-то так. 

Хотя в целом главное, чтобы вас понимали ваши коллеги, а всё остальное вторично =)

PS — статья написана в помощь студентам моего курса «CSS и Xpath: инструменты тестировщика».

Комментариев нет:

Отправить комментарий