Обновление локаторов элементов стойки
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(., 'Общая информация')]"
|
COMPOSITION_TAB = "//div[@data-testid='CABINET_SHOW__composition_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||||
MAINTENANCE_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'Обслуживание')]"
|
GENERAL_INFO_TAB = "//div[@data-testid='CABINET_SHOW__general_info_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||||
EVENTS_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'События')]"
|
MAINTENANCE_TAB = "//div[@data-testid='CABINET_SHOW__service_tab']//a[contains(@class, 'v-tabs__item')]"
|
||||||
SERVICES_TAB = "//div[@class='v-tabs__container']//a[contains(@class, 'v-tabs__item') and contains(., 'Сервисы')]"
|
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_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')]"
|
FORM_CONTAINER = "//div[contains(@class, 'container')]"
|
||||||
|
|
@ -85,15 +86,15 @@ class RackLocators:
|
||||||
MAIN_CONTAINER = "//div[contains(@class, 'layout cabinet')]"
|
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())='Лицевая сторона']"
|
FRONT_SIDE_BUTTON = "//button[@data-testid='page-cabinet__btn__mount_front']"
|
||||||
BACK_SIDE_BUTTON = "//button[contains(@class, 'v-btn')]//div[contains(@class, 'v-btn__content') and normalize-space(text())='Обратная сторона']"
|
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 = "//button[contains(@class, 'primary--text')]"
|
||||||
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')]"
|
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)
|
||||||
ADD_CIRCLE_BUTTON = "//i[contains(text(), 'add_circle')]"
|
ADD_CIRCLE_BUTTON = "//i[contains(text(), 'add_circle')]"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue