42 lines
2.4 KiB
Python
42 lines
2.4 KiB
Python
# rack_locators.py
|
||
"""Модуль rack_locators содержит локаторы элементов страницы стойки."""
|
||
|
||
class RackLocators:
|
||
"""Локаторы для элементов страницы стойки."""
|
||
|
||
# Основные вкладки - исправленные локаторы на основе реальной структуры
|
||
TABS_CONTAINER = "//div[contains(@class, 'v-tabs')]"
|
||
|
||
# Все элементы вкладок
|
||
ALL_TABS = "//div[contains(@class, 'v-tabs__div') or contains(@class, 'v-tabs__item')]"
|
||
|
||
# Конкретные вкладки по тексту
|
||
GENERAL_INFO_TAB = "//div[contains(@class, 'v-tabs__div') and contains(., 'Общая информация')]"
|
||
MAINTENANCE_TAB = "//div[contains(@class, 'v-tabs__div') and contains(., 'Обслуживание')]"
|
||
EVENTS_TAB = "//div[contains(@class, 'v-tabs__div') and contains(., 'События')]"
|
||
SERVICES_TAB = "//div[contains(@class, 'v-tabs__div') and contains(., 'Сервисы')]"
|
||
|
||
# Универсальный локатор для любой вкладки по имени
|
||
TAB_BY_NAME = "//div[contains(@class, 'v-tabs__div') and contains(., '{}')]"
|
||
|
||
# Классы для проверки активности
|
||
ACTIVE_TAB_CLASSES = ["v-tabs__item--active", "v-tab--active", "active", "accent--text"]
|
||
|
||
# Контейнер формы
|
||
FORM_CONTAINER = "//div[contains(@class, 'container')]"
|
||
|
||
# Упрощенные локаторы для полей ввода
|
||
NAME_FIELD = "//*[contains(text(), 'Имя')]/following::input[1]"
|
||
SERIAL_NUMBER_FIELD = "//*[contains(text(), 'Серийный номер')]/following::input[1]"
|
||
INVENTORY_NUMBER_FIELD = "//*[contains(text(), 'Инвентарный номер')]/following::input[1]"
|
||
CABLE_ENTRY_FIELD = "//*[contains(text(), 'Ввод кабеля')]/following::input[1]"
|
||
STATUS_FIELD = "//*[contains(text(), 'Состояние')]/following::input[1]"
|
||
HEIGHT_FIELD = "//*[contains(text(), 'Высота в юнитах')]/following::input[1]"
|
||
OWNER_FIELD = "//*[contains(text(), 'Владелец')]/following::input[1]"
|
||
SERVICE_ORG_FIELD = "//*[contains(text(), 'Обслуживающая организация')]/following::input[1]"
|
||
PROJECT_FIELD = "//*[contains(text(), 'Проект/Титул')]/following::input[1]"
|
||
|
||
# Все input поля в форме
|
||
ALL_INPUTS = "//input[@type='text']"
|
||
|