Рефакторинг
parent
4e3ae8227d
commit
0643990d59
|
|
@ -56,16 +56,8 @@ class RackPage(BasePage):
|
||||||
# Действия
|
# Действия
|
||||||
|
|
||||||
def click_edit_button(self) -> None:
|
def click_edit_button(self) -> None:
|
||||||
"""
|
""" Кликает на кнопку 'Изменить'."""
|
||||||
Кликает на кнопку 'Изменить'.
|
|
||||||
"""
|
|
||||||
logger.debug("Clicking on 'Edit' button...")
|
|
||||||
|
|
||||||
# Проверяем видимость кнопки
|
|
||||||
self.toolbar.check_button_visibility("edit")
|
|
||||||
self.toolbar.check_button_tooltip("edit", "Изменить")
|
|
||||||
|
|
||||||
# Кликаем на кнопку
|
|
||||||
self.toolbar.get_button_by_name("edit").click()
|
self.toolbar.get_button_by_name("edit").click()
|
||||||
self.wait_for_timeout(1000)
|
self.wait_for_timeout(1000)
|
||||||
|
|
||||||
|
|
@ -458,7 +450,7 @@ class RackPage(BasePage):
|
||||||
self.toolbar.check_button_tooltip("edit", "Изменить")
|
self.toolbar.check_button_tooltip("edit", "Изменить")
|
||||||
|
|
||||||
# Кликаем на кнопку "Изменить" для проверки функциональности
|
# Кликаем на кнопку "Изменить" для проверки функциональности
|
||||||
self.toolbar.get_button_by_name("edit").click()
|
#self.toolbar.get_button_by_name("edit").click()
|
||||||
|
|
||||||
|
|
||||||
def should_have_hide_rack_button(self) -> None:
|
def should_have_hide_rack_button(self) -> None:
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ from locators.rack_locators import RackLocators
|
||||||
from components_derived.accounting_objects.rack_maker import RackObjectMaker, RackData
|
from components_derived.accounting_objects.rack_maker import RackObjectMaker, RackData
|
||||||
from components_derived.frames.create_child_element_frame import CreateChildElementFrame
|
from components_derived.frames.create_child_element_frame import CreateChildElementFrame
|
||||||
from pages.location_page import LocationPage
|
from pages.location_page import LocationPage
|
||||||
|
from components_derived.modal_edit_rack import ModalEditRack, RackEditData
|
||||||
from pages.login_page import LoginPage
|
from pages.login_page import LoginPage
|
||||||
from pages.main_page import MainPage
|
from pages.main_page import MainPage
|
||||||
from pages.rack_page import RackPage
|
from pages.rack_page import RackPage
|
||||||
|
|
@ -153,24 +154,22 @@ class TestCreateRackElement:
|
||||||
self.main_page.wait_for_timeout(500)
|
self.main_page.wait_for_timeout(500)
|
||||||
|
|
||||||
# 2. Проверяем и нажимаем кнопку "Изменить"
|
# 2. Проверяем и нажимаем кнопку "Изменить"
|
||||||
logger.debug("Step 1: Clicking 'Edit' button...")
|
|
||||||
rack_page = RackPage(browser)
|
rack_page = RackPage(browser)
|
||||||
|
|
||||||
# Проверяем видимость кнопки
|
# Проверяем видимость и тултип кнопки
|
||||||
rack_page.toolbar.check_button_visibility("edit")
|
rack_page.should_be_toolbar_buttons()
|
||||||
|
|
||||||
# Проверяем тултип кнопки
|
|
||||||
rack_page.toolbar.check_button_tooltip("edit", "Изменить")
|
|
||||||
|
|
||||||
# Кликаем на кнопку "Изменить"
|
# Кликаем на кнопку "Изменить"
|
||||||
rack_page.toolbar.get_button_by_name("edit").click()
|
rack_page.click_edit_button()
|
||||||
|
|
||||||
logger.debug("Edit button clicked, waiting for edit form...")
|
self.main_page.wait_for_timeout(1000)
|
||||||
|
|
||||||
# 3. Используем метод click_remove_button, который обрабатывает весь процесс удаления
|
# 3. Создаем экземпляр ModalRackEditRack
|
||||||
# включая диалог подтверждения
|
rack_edit = ModalEditRack(browser, rack_name)
|
||||||
logger.debug("Clicking remove button...")
|
|
||||||
rack_page.click_remove_button()
|
# Используем метод для удаления
|
||||||
|
rack_edit.click_remove_button()
|
||||||
|
self.main_page.wait_for_timeout(1000)
|
||||||
|
|
||||||
# 4. Проверяем уведомление об успешном удалении - требуется создать разработчику (заведена задача)
|
# 4. Проверяем уведомление об успешном удалении - требуется создать разработчику (заведена задача)
|
||||||
# Создаем экземпляр фрейма для доступа к alert компоненту
|
# Создаем экземпляр фрейма для доступа к alert компоненту
|
||||||
|
|
|
||||||
|
|
@ -123,20 +123,20 @@ class TestRackTab:
|
||||||
# 2. Проверяем и нажимаем кнопку "Изменить"
|
# 2. Проверяем и нажимаем кнопку "Изменить"
|
||||||
rack_page = RackPage(browser)
|
rack_page = RackPage(browser)
|
||||||
|
|
||||||
# Проверяем видимость кнопки
|
# Проверяем видимость и тултип кнопки
|
||||||
rack_page.toolbar.check_button_visibility("edit")
|
rack_page.should_be_toolbar_buttons()
|
||||||
|
|
||||||
# Проверяем тултип кнопки
|
|
||||||
rack_page.toolbar.check_button_tooltip("edit", "Изменить")
|
|
||||||
|
|
||||||
# Кликаем на кнопку "Изменить"
|
# Кликаем на кнопку "Изменить"
|
||||||
rack_page.toolbar.get_button_by_name("edit").click()
|
rack_page.click_edit_button()
|
||||||
|
|
||||||
|
self.main_page.wait_for_timeout(1000)
|
||||||
|
|
||||||
# 3. Создаем экземпляр ModalRackEditRack
|
# 3. Создаем экземпляр ModalRackEditRack
|
||||||
rack_edit = ModalEditRack(browser, rack_name)
|
rack_edit = ModalEditRack(browser, rack_name)
|
||||||
|
|
||||||
# Используем метод для удаления
|
# Используем метод для удаления
|
||||||
rack_edit.click_remove_button()
|
rack_edit.click_remove_button()
|
||||||
|
self.main_page.wait_for_timeout(1000)
|
||||||
|
|
||||||
logger.info(f"Rack '{rack_name}' deleted successfully")
|
logger.info(f"Rack '{rack_name}' deleted successfully")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ from playwright.sync_api import Page
|
||||||
from locators.navigation_panel_locators import NavigationPanelLocators
|
from locators.navigation_panel_locators import NavigationPanelLocators
|
||||||
from components_derived.accounting_objects.rack_maker import RackObjectMaker, RackData
|
from components_derived.accounting_objects.rack_maker import RackObjectMaker, RackData
|
||||||
from components_derived.frames.create_child_element_frame import CreateChildElementFrame
|
from components_derived.frames.create_child_element_frame import CreateChildElementFrame
|
||||||
|
from components_derived.modal_edit_rack import ModalEditRack
|
||||||
from pages.location_page import LocationPage
|
from pages.location_page import LocationPage
|
||||||
from pages.login_page import LoginPage
|
from pages.login_page import LoginPage
|
||||||
from pages.main_page import MainPage
|
from pages.main_page import MainPage
|
||||||
|
|
@ -25,7 +26,6 @@ class TestRackTab:
|
||||||
|
|
||||||
Тесты покрывают следующие функциональные области:
|
Тесты покрывают следующие функциональные области:
|
||||||
1. test_rack_tab_content - Базовая структура и содержимое вкладки стойки
|
1. test_rack_tab_content - Базовая структура и содержимое вкладки стойки
|
||||||
2. test_rack_tab_switching - Функциональность переключения между вкладками стойки
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Инициализируем атрибуты
|
# Инициализируем атрибуты
|
||||||
|
|
@ -100,7 +100,9 @@ class TestRackTab:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# 1. Находим элемент стойки в навигационной панели
|
# 1. Находим элемент стойки в навигационной панели
|
||||||
rack_element = browser.locator(NavigationPanelLocators.TREEVIEW).get_by_text(rack_name, exact=True).first
|
rack_element = browser.locator(
|
||||||
|
NavigationPanelLocators.TREEVIEW
|
||||||
|
).get_by_text(rack_name, exact=True).first
|
||||||
|
|
||||||
# Прокручиваем до элемента если нужно
|
# Прокручиваем до элемента если нужно
|
||||||
rack_element.scroll_into_view_if_needed()
|
rack_element.scroll_into_view_if_needed()
|
||||||
|
|
@ -109,18 +111,20 @@ class TestRackTab:
|
||||||
# 2. Проверяем и нажимаем кнопку "Изменить"
|
# 2. Проверяем и нажимаем кнопку "Изменить"
|
||||||
rack_page = RackPage(browser)
|
rack_page = RackPage(browser)
|
||||||
|
|
||||||
# Проверяем видимость кнопки
|
# Проверяем видимость и тултип кнопки
|
||||||
rack_page.toolbar.check_button_visibility("edit")
|
rack_page.should_be_toolbar_buttons()
|
||||||
|
|
||||||
# Проверяем тултип кнопки
|
|
||||||
rack_page.toolbar.check_button_tooltip("edit", "Изменить")
|
|
||||||
|
|
||||||
# Кликаем на кнопку "Изменить"
|
# Кликаем на кнопку "Изменить"
|
||||||
rack_page.toolbar.get_button_by_name("edit").click()
|
rack_page.click_edit_button()
|
||||||
|
|
||||||
# 3. Используем метод click_remove_button, который обрабатывает весь процесс удаления
|
self.main_page.wait_for_timeout(1000)
|
||||||
# включая диалог подтверждения
|
|
||||||
rack_page.click_remove_button()
|
# 3. Создаем экземпляр ModalRackEditRack
|
||||||
|
rack_edit = ModalEditRack(browser, rack_name)
|
||||||
|
|
||||||
|
# Используем метод для удаления
|
||||||
|
rack_edit.click_remove_button()
|
||||||
|
self.main_page.wait_for_timeout(1000)
|
||||||
|
|
||||||
@pytest.fixture(scope="function", autouse=True)
|
@pytest.fixture(scope="function", autouse=True)
|
||||||
def setup(self, browser: Page) -> None:
|
def setup(self, browser: Page) -> None:
|
||||||
|
|
@ -231,20 +235,6 @@ class TestRackTab:
|
||||||
# Проверка кнопки "Показать стойку"
|
# Проверка кнопки "Показать стойку"
|
||||||
rt.should_have_show_rack_button()
|
rt.should_have_show_rack_button()
|
||||||
|
|
||||||
rt.wait_for_timeout(1000)
|
|
||||||
|
|
||||||
def test_rack_tab_switching(self, browser: Page) -> None:
|
|
||||||
"""Тест переключения между вкладками стойки оборудования.
|
|
||||||
|
|
||||||
Тестирует переключение на все доступные вкладки: Общая информация,
|
|
||||||
Обслуживание, События, Сервисы.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
|
|
||||||
"""
|
|
||||||
|
|
||||||
rt = RackPage(browser)
|
|
||||||
|
|
||||||
# Проверяем переключение между всеми вкладками стойки
|
# Проверяем переключение между всеми вкладками стойки
|
||||||
rt.check_tab_switching()
|
rt.check_tab_switching()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue