diff --git a/pages/rack_page.py b/pages/rack_page.py index fb63dc3..59d736d 100644 --- a/pages/rack_page.py +++ b/pages/rack_page.py @@ -56,16 +56,8 @@ class RackPage(BasePage): # Действия 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.wait_for_timeout(1000) @@ -458,7 +450,7 @@ class RackPage(BasePage): 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: diff --git a/tests/e2e/create_elements/test_create_rack_element.py b/tests/e2e/create_elements/test_create_rack_element.py index a883483..8e37919 100644 --- a/tests/e2e/create_elements/test_create_rack_element.py +++ b/tests/e2e/create_elements/test_create_rack_element.py @@ -8,6 +8,7 @@ from locators.rack_locators import RackLocators from components_derived.accounting_objects.rack_maker import RackObjectMaker, RackData from components_derived.frames.create_child_element_frame import CreateChildElementFrame from pages.location_page import LocationPage +from components_derived.modal_edit_rack import ModalEditRack, RackEditData from pages.login_page import LoginPage from pages.main_page import MainPage from pages.rack_page import RackPage @@ -153,24 +154,22 @@ class TestCreateRackElement: self.main_page.wait_for_timeout(500) # 2. Проверяем и нажимаем кнопку "Изменить" - logger.debug("Step 1: Clicking 'Edit' button...") rack_page = RackPage(browser) - # Проверяем видимость кнопки - rack_page.toolbar.check_button_visibility("edit") - - # Проверяем тултип кнопки - rack_page.toolbar.check_button_tooltip("edit", "Изменить") + # Проверяем видимость и тултип кнопки + rack_page.should_be_toolbar_buttons() # Кликаем на кнопку "Изменить" - 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, который обрабатывает весь процесс удаления - # включая диалог подтверждения - logger.debug("Clicking remove button...") - 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) # 4. Проверяем уведомление об успешном удалении - требуется создать разработчику (заведена задача) # Создаем экземпляр фрейма для доступа к alert компоненту diff --git a/tests/e2e/elements/test_edit_rack.py b/tests/e2e/elements/test_edit_rack.py index 45a3e5e..45600dc 100644 --- a/tests/e2e/elements/test_edit_rack.py +++ b/tests/e2e/elements/test_edit_rack.py @@ -123,20 +123,20 @@ class TestRackTab: # 2. Проверяем и нажимаем кнопку "Изменить" rack_page = RackPage(browser) - # Проверяем видимость кнопки - rack_page.toolbar.check_button_visibility("edit") - - # Проверяем тултип кнопки - rack_page.toolbar.check_button_tooltip("edit", "Изменить") + # Проверяем видимость и тултип кнопки + rack_page.should_be_toolbar_buttons() # Кликаем на кнопку "Изменить" - rack_page.toolbar.get_button_by_name("edit").click() + rack_page.click_edit_button() + + self.main_page.wait_for_timeout(1000) # 3. Создаем экземпляр ModalRackEditRack rack_edit = ModalEditRack(browser, rack_name) # Используем метод для удаления rack_edit.click_remove_button() + self.main_page.wait_for_timeout(1000) logger.info(f"Rack '{rack_name}' deleted successfully") diff --git a/tests/e2e/elements/test_management_rack.py b/tests/e2e/elements/test_management_rack.py index ecf8292..f1d9a2c 100644 --- a/tests/e2e/elements/test_management_rack.py +++ b/tests/e2e/elements/test_management_rack.py @@ -9,6 +9,7 @@ from playwright.sync_api import Page from locators.navigation_panel_locators import NavigationPanelLocators from components_derived.accounting_objects.rack_maker import RackObjectMaker, RackData 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.login_page import LoginPage from pages.main_page import MainPage @@ -25,7 +26,6 @@ class TestRackTab: Тесты покрывают следующие функциональные области: 1. test_rack_tab_content - Базовая структура и содержимое вкладки стойки - 2. test_rack_tab_switching - Функциональность переключения между вкладками стойки """ # Инициализируем атрибуты @@ -100,7 +100,9 @@ class TestRackTab: """ # 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() @@ -109,18 +111,20 @@ class TestRackTab: # 2. Проверяем и нажимаем кнопку "Изменить" rack_page = RackPage(browser) - # Проверяем видимость кнопки - rack_page.toolbar.check_button_visibility("edit") - - # Проверяем тултип кнопки - rack_page.toolbar.check_button_tooltip("edit", "Изменить") + # Проверяем видимость и тултип кнопки + rack_page.should_be_toolbar_buttons() # Кликаем на кнопку "Изменить" - rack_page.toolbar.get_button_by_name("edit").click() + rack_page.click_edit_button() - # 3. Используем метод click_remove_button, который обрабатывает весь процесс удаления - # включая диалог подтверждения - rack_page.click_remove_button() + self.main_page.wait_for_timeout(1000) + + # 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) def setup(self, browser: Page) -> None: @@ -231,20 +235,6 @@ class TestRackTab: # Проверка кнопки "Показать стойку" 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()