From c38cf601cb62f3e17463233239aa93ba5bb3aab8 Mon Sep 17 00:00:00 2001 From: Radislav Date: Fri, 20 Feb 2026 13:12:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=82=D0=B5=D1=81=D1=82=20=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=A1=D1=82=D0=BE=D0=B9=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/rack_page.py | 105 +++------------------------------------------ 1 file changed, 6 insertions(+), 99 deletions(-) diff --git a/pages/rack_page.py b/pages/rack_page.py index bdc0109..fb63dc3 100644 --- a/pages/rack_page.py +++ b/pages/rack_page.py @@ -48,103 +48,27 @@ class RackPage(BasePage): show_button_locator = self.page.locator(RackLocators.SHOW_RACK_BUTTON) self.show_button = TooltipButton(page, show_button_locator, "show_rack") - # Кнопка "Переместить" - replace_button_locator = self.page.locator(RackLocators.TOOLBAR_REPLACE_BUTTON) - self.replace_button = TooltipButton(page, replace_button_locator, "replace") - - # Кнопка "Сохранить" - done_button_locator = self.page.locator(RackLocators.TOOLBAR_DONE_BUTTON) - self.done_button = TooltipButton(page, done_button_locator, "done") - - # Кнопка "Отменить" - close_button_locator = self.page.locator(RackLocators.TOOLBAR_CLOSE_BUTTON) - self.close_button = TooltipButton(page, close_button_locator, "close") - - # Кнопка "Удалить" - remove_button_locator = self.page.locator(RackLocators.TOOLBAR_REMOVE_BUTTON) - self.remove_button = TooltipButton(page, remove_button_locator, "remove") - self.toolbar = ToolbarComponent(page, "") self.toolbar.add_tooltip_button(locator_button, "edit") self.toolbar.add_tooltip_button(hide_button_locator, "hide_rack") self.toolbar.add_tooltip_button(show_button_locator, "show_rack") - self.toolbar.add_tooltip_button(replace_button_locator, "replace") - self.toolbar.add_tooltip_button(done_button_locator, "done") - self.toolbar.add_tooltip_button(close_button_locator, "close") - self.toolbar.add_tooltip_button(remove_button_locator, "remove") # Действия - def click_remove_button(self) -> None: + def click_edit_button(self) -> None: """ - Кликает на кнопку 'Удалить' и обрабатывает диалог подтверждения. + Кликает на кнопку 'Изменить'. """ - logger.debug("Clicking on 'Remove' button...") + logger.debug("Clicking on 'Edit' button...") # Проверяем видимость кнопки - self.toolbar.check_button_visibility("remove") - - # Проверяем тултип кнопки (может быть "Удалить" или "Remove") - try: - self.toolbar.check_button_tooltip("remove", "Удалить") - except AssertionError: - try: - self.toolbar.check_button_tooltip("remove", "Remove") - except AssertionError: - logger.debug("Could not verify tooltip text for remove button") - - # Кликаем на кнопку удаления - self.toolbar.get_button_by_name("remove").click() - self.wait_for_timeout(1000) - - # Ожидаем появления диалога подтверждения - self._handle_remove_confirmation_dialog() - - def confirm_remove_dialog(self, confirm: bool = True) -> None: - """ - Подтверждает или отклоняет удаление в диалоговом окне. - - Args: - confirm (bool): Если True - подтвердить удаление, если False - отменить - """ - logger.debug(f"Confirming remove dialog with: {'Да' if confirm else 'Нет'}") - - # Ждем немного перед поиском диалога - self.wait_for_timeout(1500) - - # Ищем активный диалог - dialog = self.page.locator("div.v-dialog--active") - - # Проверяем, что диалог найден и содержит нужный текст - assert dialog.count() > 0, "No active dialog found" - - # Проверяем текст диалога - dialog_text = dialog.first.text_content() - logger.debug("Dialog text: %s", dialog_text) - - # Должен содержать "Запрос подтверждения" и "Удалить" - assert "Запрос подтверждения" in dialog_text, "Not a confirmation dialog" - - # Ищем кнопку по data-testid - if confirm: - button = self.page.locator(RackLocators.CONFIRM_REMOVE_YES_BUTTON) - else: - button = self.page.locator(RackLocators.CONFIRM_REMOVE_NO_BUTTON) - - # Проверяем, что кнопка найдена - assert button.count() > 0, "Button not found with selector" + self.toolbar.check_button_visibility("edit") + self.toolbar.check_button_tooltip("edit", "Изменить") # Кликаем на кнопку - button_text = button.first.text_content() - logger.debug("Clicking button with text: %s", button_text) - button.first.click() - self.wait_for_timeout(2000) - - # Проверяем, что диалог закрылся + self.toolbar.get_button_by_name("edit").click() self.wait_for_timeout(1000) - logger.debug("Remove confirmation completed") - def get_available_tabs(self) -> list[str]: """ Возвращает список доступных вкладок. @@ -536,18 +460,6 @@ class RackPage(BasePage): # Кликаем на кнопку "Изменить" для проверки функциональности self.toolbar.get_button_by_name("edit").click() - # Проверяем новые кнопки тулбара - self.toolbar.check_button_visibility("replace") - self.toolbar.check_button_tooltip("replace", "Переместить") - - self.toolbar.check_button_visibility("done") - self.toolbar.check_button_tooltip("done", "Сохранить") - - self.toolbar.check_button_visibility("close") - self.toolbar.check_button_tooltip("close", "Отменить") - - self.toolbar.check_button_visibility("remove") - self.toolbar.check_button_tooltip("remove", "Удалить") def should_have_hide_rack_button(self) -> None: """ @@ -690,11 +602,6 @@ class RackPage(BasePage): logger.debug("%s check completed successfully", side_name) - def _handle_remove_confirmation_dialog(self) -> None: - """Обрабатывает диалог подтверждения удаления.""" - logger.debug("Handling remove confirmation dialog...") - self.confirm_remove_dialog(confirm=True) - def _wait_for_tab_activation(self, tab_name: str, timeout: int = 5000) -> None: """ Ожидает активации вкладки.