Обновление локаторов элементов стойки
parent
d71fe80166
commit
4523ff6db3
|
|
@ -17,34 +17,35 @@ class RackLocators:
|
|||
"""
|
||||
|
||||
# Основной контейнер вкладок стойки (верхние вкладки)
|
||||
TABS_CONTAINER = "//div[@class='v-tabs__container']"
|
||||
TABS_CONTAINER = "//div[starts-with(@data-testid, 'CABINET_SHOW__') and contains(@class, 'v-tabs__div')]"
|
||||
|
||||
# Все элементы верхних вкладок стойки
|
||||
ALL_TABS = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item')]"
|
||||
ALL_TABS = "//div[starts-with(@data-testid, 'CABINET_SHOW__') and contains(@class, 'v-tabs__div')]//a[contains(@class, 'v-tabs__item')]"
|
||||
|
||||
# Кнопка редактирования свойств стойки
|
||||
EDIT_BUTTON = "//button[@data-v-5f34ceac and contains(@class, 'font-weight-medium')]"
|
||||
EDIT_BUTTON ="//button[@data-testid='CABINET_SHOW__btn__edit']"
|
||||
|
||||
# Кнопка "Скрыть стойку"
|
||||
HIDE_RACK_BUTTON = "//div[contains(@class, 'cabinet_hide_button')]//i[contains(@class, 'material-icons') and text()='navigate_before']"
|
||||
HIDE_RACK_BUTTON = "//div[@data-testid='CABINET_SHOW__div__hideCabinet']"
|
||||
|
||||
# Кнопка "Показать стойку"
|
||||
SHOW_RACK_BUTTON = "//div[contains(@class, 'cabinet_hide_button')]//i[contains(@class, 'material-icons') and text()='navigate_next']"
|
||||
SHOW_RACK_BUTTON = "//div[@data-testid='CABINET_SHOW__div__hideCabinet']"
|
||||
|
||||
# Универсальный локатор для любой вкладки по имени
|
||||
TAB_BY_NAME = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., '{}')]"
|
||||
TAB_BY_NAME = "//div[starts-with(@data-testid, 'CABINET_SHOW__') and contains(@class, 'v-tabs__div')]//a[contains(@class, 'v-tabs__item') and .//*[contains(., '{}')]]"
|
||||
|
||||
# Конкретные вкладки по тексту
|
||||
GENERAL_INFO_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'Общая информация')]"
|
||||
MAINTENANCE_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'Обслуживание')]"
|
||||
EVENTS_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'События')]"
|
||||
SERVICES_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'Сервисы')]"
|
||||
COMPOSITION_TAB = "//div[@data-testid='CABINET_SHOW__composition_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||
GENERAL_INFO_TAB = "//div[@data-testid='CABINET_SHOW__general_info_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||
MAINTENANCE_TAB = "//div[@data-testid='CABINET_SHOW__service_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||
EVENTS_TAB = "//div[@data-testid='CABINET_SHOW__events_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||
SERVICES_TAB = "//div[@data-testid='CABINET_SHOW__services_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||
|
||||
# Классы для проверки активности
|
||||
ACTIVE_TAB_CLASSES = ["accent--text", "v-tabs__item--active"]
|
||||
|
||||
# Локатор для активной вкладки
|
||||
ACTIVE_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item--active')]"
|
||||
ACTIVE_TAB = "//div[starts-with(@data-testid, 'CABINET_SHOW__') and contains(@class, 'v-tabs__div')]//a[contains(@class, 'v-tabs__item--active')]"
|
||||
|
||||
# Контейнер формы
|
||||
FORM_CONTAINER = "//div[contains(@class, 'container')]"
|
||||
|
|
@ -85,15 +86,15 @@ class RackLocators:
|
|||
MAIN_CONTAINER = "//div[contains(@class, 'layout cabinet')]"
|
||||
|
||||
# Кнопки переключения сторон
|
||||
FRONT_SIDE_BUTTON = "//button[contains(@class, 'v-btn')]//div[contains(@class, 'v-btn__content') and normalize-space(text())='Лицевая сторона']"
|
||||
BACK_SIDE_BUTTON = "//button[contains(@class, 'v-btn')]//div[contains(@class, 'v-btn__content') and normalize-space(text())='Обратная сторона']"
|
||||
FRONT_SIDE_BUTTON = "//button[@data-testid='page-cabinet__btn__mount_front']"
|
||||
BACK_SIDE_BUTTON = "//button[@data-testid='page-cabinet__btn__mount_rear']"
|
||||
|
||||
# Активная кнопка (имеет класс primary, но НЕ имеет outline)
|
||||
ACTIVE_SIDE_BUTTON = "//button[contains(@class, 'v-btn') and contains(@class, 'primary') and not(contains(@class, 'v-btn--outline'))]"
|
||||
ACTIVE_SIDE_BUTTON_TEXT = "//button[contains(@class, 'v-btn') and contains(@class, 'primary') and not(contains(@class, 'v-btn--outline'))]//div[contains(@class, 'v-btn__content')]"
|
||||
# Локаторы для определения активной стороны
|
||||
ACTIVE_SIDE_BUTTON = "//button[contains(@class, 'primary--text')]"
|
||||
INACTIVE_SIDE_BUTTON = "//button[contains(@class, 'secondary--text')]"
|
||||
|
||||
# Неактивная кнопка (имеет outline или не имеет primary)
|
||||
INACTIVE_SIDE_BUTTON = "//button[contains(@class, 'v-btn') and (contains(@class, 'v-btn--outline') or not(contains(@class, 'primary')))]"
|
||||
# Для получения текста активной стороны
|
||||
ACTIVE_SIDE_BUTTON_TEXT = "//button[contains(@class, 'primary--text')]//div[contains(@class, 'v-btn__content')]"
|
||||
|
||||
# Кнопка добавления (add_circle)
|
||||
ADD_CIRCLE_BUTTON = "//i[contains(text(), 'add_circle')]"
|
||||
|
|
|
|||
Loading…
Reference in New Issue