Skip to content

Локаторы

Локаторы используются для идентификации элементов интерфейса в автоматизированных тестах. Платформа поддерживает создание и управление локаторами в виде дерева с возможностью повторного использования в разных тестовых сценариях.

Создание и редактирование локаторов

Дерево локаторов

Локаторы организованы в виде дерева, где каждый элемент может иметь родителя и потомков. Это позволяет:

  • Строить относительные пути к элементам
  • Повторно использовать общие части локаторов
  • Упрощать поддержку тестов при изменениях интерфейса

Такой подход к организации локаторов позволяет реализовать в автотестах паттерн PageObject. Дерево локаторов уникально для каждого проекта в системе NC AI Platform.

img12.png

Создание локаторов

Для того чтобы создать пустой локатор в корне дерева, нажмите на кнопку «+ ДОБАВИТЬ ЛОКАТОР». В появившемся поле введите имя локатора и подтвердите создание соответствующей кнопкой.

Для создания дочернего локатора, нажмите кнопку «+» справа от имени родительского локатора. В появившемся поле введите имя локатора и подтвердите создание соответствующей кнопкой.

Иерархию локаторов в дереве можно изменять с помощью перетаскивания элементов мышью.

После создания пустого локатора заполните его данные с помощью формы редактирования.

Форма редактирования локатора

При создании или редактировании локатора доступны следующие поля:

  • Название - обязательное поле, уникальное в рамках родительского локатора
  • Описание - необязательное текстовое описание
  • Тип элемента - список типов из активного фреймворка проекта
  • Значение локатора - может быть задано двумя способами:
    • Строка в формате Xpath - для типа локатора «XPath»
    • Через добавление атрибутов - для типа локатора «Attributes»

Для сохранения изменения локатора необходимо нажать кнопку «СОХРАНИТЬ».

Итоговое значение локатора складывается из значения локатора-родителя и текущего значения, поэтому поиск элементов также осуществляется относительно родительских объектов.

img13.png

Работа с атрибутами

На вкладке «Attributes» можно задать правила для автоматической генерации XPath:

  1. Добавить атрибут с параметрами:
    • Имя
    • Соответствие (условие)
    • Значение
    • Чекбокс использования в XPath
  2. Система автоматически сгенерирует XPath выражение по правилам:
    • Все используемые атрибуты объединяются через AND
    • В начало добавляется //* для поиска любых тегов с указанными атрибутами

Параметризированные Xpath

Платформа позволяет создавать локаторы, даже если часть xpath (например текст или значение атрибута) заранее не известны. Для этого следует использовать синтаксис переменных ${название_переменной} в значении локатора.

Пример: //div[text()='${название_переменной}']

Важно

Не забудьте в шагах или в конфигурациях объявить и проинициализировать переменные, которые используются в локаторах.

История изменений

Для каждого локатора сохраняются все его предыдущие версии. Для каждой версии отображается:

  • Номер версии
  • Пользователь, который внес изменения
  • Дата и время изменений

Сохраненные версии локатора доступны для просмотра.

Использование локаторов

Выбор локатора в шагах теста

При работе с шагами теста, где требуется указать элемент интерфейса:

  1. Открывается форма выбора с двумя вариантами:
    • Ручной ввод XPath
    • Выбор из дерева локаторов
  2. В дереве локаторов можно:
    • Искать по названию (от 2 символов)
    • Выбирать локатор из дерева
    • Просматривать полный путь (xpath) локатора, его тип и описание
    • Открывать в новом окне форму редактирования локатора

img14.png

Отображение в тестах

В шагах теста локаторы отображаются:

  1. как полный XPath - если выбран ручной ввод
  2. как путь из названий локаторов - если выбран элемент из дерева
  3. «локатор недоступен» - если выбранный локатор был удален