Локаторы¶
Локаторы используются для идентификации элементов интерфейса в автоматизированных тестах. Платформа поддерживает создание и управление локаторами в виде дерева с возможностью повторного использования в разных тестовых сценариях.
Создание и редактирование локаторов¶
Дерево локаторов¶
Локаторы организованы в виде дерева, где каждый элемент может иметь родителя и потомков. Это позволяет:
- Строить относительные пути к элементам
- Повторно использовать общие части локаторов
- Упрощать поддержку тестов при изменениях интерфейса
Такой подход к организации локаторов позволяет реализовать в автотестах паттерн PageObject. Дерево локаторов уникально для каждого проекта в системе NC AI Platform.
Создание локаторов¶
Для того чтобы создать пустой локатор в корне дерева, нажмите на кнопку «+ ДОБАВИТЬ ЛОКАТОР». В появившемся поле введите имя локатора и подтвердите создание соответствующей кнопкой.
Для создания дочернего локатора, нажмите кнопку «+» справа от имени родительского локатора. В появившемся поле введите имя локатора и подтвердите создание соответствующей кнопкой.
Иерархию локаторов в дереве можно изменять с помощью перетаскивания элементов мышью.
После создания пустого локатора заполните его данные с помощью формы редактирования.
Форма редактирования локатора¶
При создании или редактировании локатора доступны следующие поля:
- Название - обязательное поле, уникальное в рамках родительского локатора
- Описание - необязательное текстовое описание
- Тип элемента - список типов из активного фреймворка проекта
- Значение локатора - может быть задано двумя способами:
- Строка в формате Xpath - для типа локатора «XPath»
- Через добавление атрибутов - для типа локатора «Attributes»
Для сохранения изменения локатора необходимо нажать кнопку «СОХРАНИТЬ».
Итоговое значение локатора складывается из значения локатора-родителя и текущего значения, поэтому поиск элементов также осуществляется относительно родительских объектов.
Работа с атрибутами¶
На вкладке «Attributes» можно задать правила для автоматической генерации XPath:
- Добавить атрибут с параметрами:
- Имя
- Соответствие (условие)
- Значение
- Чекбокс использования в XPath
- Система автоматически сгенерирует XPath выражение по правилам:
- Все используемые атрибуты объединяются через AND
- В начало добавляется
//*
для поиска любых тегов с указанными атрибутами
Параметризированные Xpath¶
Платформа позволяет создавать локаторы, даже если часть xpath (например текст или значение атрибута) заранее не
известны. Для этого следует использовать синтаксис переменных ${название_переменной}
в значении локатора.
Пример: //div[text()='${название_переменной}']
Важно
Не забудьте в шагах или в конфигурациях объявить и проинициализировать переменные, которые используются в локаторах.
История изменений¶
Для каждого локатора сохраняются все его предыдущие версии. Для каждой версии отображается:
- Номер версии
- Пользователь, который внес изменения
- Дата и время изменений
Сохраненные версии локатора доступны для просмотра.
Использование локаторов¶
Выбор локатора в шагах теста¶
При работе с шагами теста, где требуется указать элемент интерфейса:
- Открывается форма выбора с двумя вариантами:
- Ручной ввод XPath
- Выбор из дерева локаторов
- В дереве локаторов можно:
- Искать по названию (от 2 символов)
- Выбирать локатор из дерева
- Просматривать полный путь (xpath) локатора, его тип и описание
- Открывать в новом окне форму редактирования локатора
Отображение в тестах¶
В шагах теста локаторы отображаются:
- как полный XPath - если выбран ручной ввод
- как путь из названий локаторов - если выбран элемент из дерева
- «локатор недоступен» - если выбранный локатор был удален