refactor: единообразное именование переменных для модальных окон

pull/1/head
Radislav 2025-09-30 10:40:40 +03:00
parent ff707434f1
commit 6cd20c0947
5 changed files with 71 additions and 109 deletions

View File

@ -24,12 +24,12 @@ class ViewTemplateModalWindow(ModalWindowComponent):
4. Проверки содержимого модального окна 4. Проверки содержимого модального окна
""" """
def __init__(self, page: Page, template_name: str): def __init__(self, page: Page, title: str):
"""Инициализирует элементы формы модального окна шаблона.""" """Инициализирует элементы формы модального окна шаблона."""
super().__init__(page) super().__init__(page)
# Настройка заголовка и кнопки закрытия # Настройка заголовка и кнопок закрытия
self.window_title = template_name self.window_title = title
locator_button_toolbar_close = self.page.get_by_role("navigation").filter( locator_button_toolbar_close = self.page.get_by_role("navigation").filter(
has_text=re.compile(self.window_title) has_text=re.compile(self.window_title)
).get_by_role("button") ).get_by_role("button")
@ -122,7 +122,7 @@ class ViewTemplateModalWindow(ModalWindowComponent):
return modal_data return modal_data
def compare_modal_with_api_data(self, modal_data: dict, api_data: dict, def compare_modal_with_api_data(self, modal_data: dict, api_data: dict,
template_name: str) -> None: title: str) -> None:
"""Сравнивает данные из модального окна с данными из API.""" """Сравнивает данные из модального окна с данными из API."""
errors = [] errors = []
@ -149,10 +149,10 @@ class ViewTemplateModalWindow(ModalWindowComponent):
# Дополнительная проверка имени шаблона # Дополнительная проверка имени шаблона
modal_template = modal_data.get('Шаблон', '') modal_template = modal_data.get('Шаблон', '')
if modal_template != template_name: if modal_template != title:
error_msg = ( error_msg = (
f"Расхождение в имени шаблона: " f"Расхождение в имени шаблона: "
f"модальное окно='{modal_template}', ожидается='{template_name}'" f"модальное окно='{modal_template}', ожидается='{title}'"
) )
logger.error(error_msg) logger.error(error_msg)
errors.append(error_msg) errors.append(error_msg)
@ -161,7 +161,7 @@ class ViewTemplateModalWindow(ModalWindowComponent):
if errors: if errors:
error_details = "\n".join(errors) error_details = "\n".join(errors)
assert False, ( assert False, (
f"Обнаружены расхождения для шаблона '{template_name}':\n{error_details}" f"Обнаружены расхождения для шаблона '{title}':\n{error_details}"
) )
logger.info("Данные модального окна соответствуют API для шаблона '%s'", template_name) logger.info("Данные модального окна соответствуют API для шаблона '%s'", title)

View File

@ -4,18 +4,16 @@
Позволяет проверять состояние и взаимодействовать с элементами вкладки. Позволяет проверять состояние и взаимодействовать с элементами вкладки.
""" """
import json
from pathlib import Path
from playwright.sync_api import Page from playwright.sync_api import Page
from tools.logger import get_logger from tools.logger import get_logger
from locators.table_locators import TableLocators from locators.table_locators import TableLocators
from locators.modal_window_locators import ModalWindowLocators from locators.modal_window_locators import ModalWindowLocators
from locators.json_container_locators import JsonContainerLocators from locators.json_container_locators import JsonContainerLocators
from components_derived.modal_view_template import ViewTemplateModalWindow from components_derived.modal_view_template import ViewTemplateModalWindow
from components.modal_window_component import ModalWindowComponent
from components.toolbar_component import ToolbarComponent from components.toolbar_component import ToolbarComponent
from components.table_component import TableComponent from components.table_component import TableComponent
from components.json_container_component import JsonContainerComponent from components.json_container_component import JsonContainerComponent
from components.alert_component import AlertComponent
from pages.base_page import BasePage from pages.base_page import BasePage
logger = get_logger("TEMPLATES_TAB") logger = get_logger("TEMPLATES_TAB")
@ -42,7 +40,6 @@ class TemplatesTab(BasePage):
self.modal_windows = {} self.modal_windows = {}
self.json_container = JsonContainerComponent(page) self.json_container = JsonContainerComponent(page)
self.alert = AlertComponent(page)
def add_modal_window(self, title: str) -> None: def add_modal_window(self, title: str) -> None:
"""Добавляет модальное окно в коллекцию. """Добавляет модальное окно в коллекцию.
@ -86,7 +83,7 @@ class TemplatesTab(BasePage):
assert False, f"Modal window with title '{title}' not found" assert False, f"Modal window with title '{title}' not found"
self.modal_windows[title] = None self.modal_windows[title] = None
def open_template_modal(self, row_index: int = 0) -> str: def open_template_modal_by_index(self, row_index: int = 0) -> str:
"""Открывает модальное окно шаблона по клику на строку таблицы. """Открывает модальное окно шаблона по клику на строку таблицы.
Args: Args:
@ -104,12 +101,12 @@ class TemplatesTab(BasePage):
# Получаем имя шаблона из выбранной строки # Получаем имя шаблона из выбранной строки
table_content = self.templates_table.read(TableLocators.TABLE_WORK_AREA) table_content = self.templates_table.read(TableLocators.TABLE_WORK_AREA)
# +1 потому что первая строка - заголовки # +1 потому что первая строка - заголовки
template_name = table_content[row_index + 1][0] title = table_content[row_index + 1][0]
# Добавляем модальное окно в коллекцию после открытия # Добавляем модальное окно в коллекцию после открытия
self.add_modal_window(template_name) self.add_modal_window(title)
return template_name return title
def close_modal_window_by_toolbar_button(self, title: str) -> None: def close_modal_window_by_toolbar_button(self, title: str) -> None:
"""Закрывает модальное окно через кнопку в тулбаре. """Закрывает модальное окно через кнопку в тулбаре.
@ -119,7 +116,7 @@ class TemplatesTab(BasePage):
""" """
modal_window = self.get_modal_window(title) modal_window = self.get_modal_window(title)
modal_window.click_toolbar_close_button() modal_window.close_window_by_toolbar_button()
self.delete_modal_window(title) self.delete_modal_window(title)
def get_rows_count(self) -> int: def get_rows_count(self) -> int:
@ -146,21 +143,21 @@ class TemplatesTab(BasePage):
def scroll_modal_up(self) -> None: def scroll_modal_up(self) -> None:
"""Прокручивает содержимое модального окна вверх.""" """Прокручивает содержимое модального окна вверх."""
self.templates_table.scroll_up(
ModalWindowLocators.MODAL_WINDOW_SCROLL_CONTAINER temp_modal = ModalWindowComponent(self.page)
) temp_modal.scroll_window_up()
def scroll_modal_down(self) -> None: def scroll_modal_down(self) -> None:
"""Прокручивает содержимое модального окна вниз.""" """Прокручивает содержимое модального окна вниз."""
self.templates_table.scroll_down(
ModalWindowLocators.MODAL_WINDOW_SCROLL_CONTAINER
)
def extract_specific_template(self, template_name: str, response_data: dict) -> dict: temp_modal = ModalWindowComponent(self.page)
"""Извлекает структуру конкретного шаблона по template_name из данных API. temp_modal.scroll_window_down()
def extract_specific_template(self, title: str, response_data: dict) -> dict:
"""Извлекает структуру конкретного шаблона по title из данных API.
Args: Args:
template_name: Имя шаблона для извлечения. title: Имя шаблона для извлечения.
response_data: Данные ответа от API. response_data: Данные ответа от API.
Returns: Returns:
@ -175,8 +172,8 @@ class TemplatesTab(BasePage):
# Ищем шаблон с указанным именем # Ищем шаблон с указанным именем
for template in response_data: for template in response_data:
if template.get('id') == template_name: if template.get('id') == title:
logger.info("Found template: %s", template_name) logger.info("Found template: %s", title)
return template return template
# Если шаблон не найден # Если шаблон не найден
@ -184,47 +181,22 @@ class TemplatesTab(BasePage):
# Генерируем понятное сообщение об ошибке # Генерируем понятное сообщение об ошибке
error_msg = ( error_msg = (
f"Template '{template_name}' not found. " f"Template '{title}' not found. "
f"Available templates: {available_templates}" f"Available templates: {available_templates}"
) )
logger.error(error_msg) logger.error(error_msg)
assert False, error_msg assert False, error_msg
def save_template_data_to_file(self, template_data: dict, filename: str = None) -> str: def check_templates_modal_content(self, title: str) -> None:
"""Инструмент отладки. Сохраняет данные шаблона в JSON файл в текущей директории.
Args:
template_data: Данные шаблона для сохранения.
filename: Имя файла (если None, генерируется автоматически).
Returns:
str: Путь к сохраненному файлу.
"""
# Генерируем имя файла если не указано
if filename is None:
template_name = template_data.get('id', 'unknown_template')
filename = f"{template_name}_data.json"
# Сохраняем файл в текущей директории
file_path = Path(filename)
# Сохраняем данные в файл с форматированием
with open(file_path, 'w', encoding='utf-8') as file:
json.dump(template_data, file, ensure_ascii=False, indent=2)
logger.info("Template data saved to: %s", file_path)
return str(file_path)
def check_templates_modal_content(self, template_name: str) -> None:
"""Проверяет наличие и корректность элементов модального окна шаблона. """Проверяет наличие и корректность элементов модального окна шаблона.
Args: Args:
template_name: Имя шаблона для проверки заголовка окна. title: Имя шаблона для проверки заголовка окна.
Raises: Raises:
AssertionError: Если элементы окна некорректны. AssertionError: Если элементы окна некорректны.
""" """
modal_window = self.get_modal_window(template_name) modal_window = self.get_modal_window(title)
modal_window.check_content() modal_window.check_content()
def check_templates_table_content(self) -> None: def check_templates_table_content(self) -> None:
@ -245,7 +217,7 @@ class TemplatesTab(BasePage):
self.templates_table.check_content(TableLocators.TABLE_WORK_AREA, expected_headers) self.templates_table.check_content(TableLocators.TABLE_WORK_AREA, expected_headers)
def check_templates_table_verticall_scrolling(self) -> bool: def check_templates_table_vertical_scrolling(self) -> bool:
"""Проверяет возможность вертикальной прокрутки таблицы. """Проверяет возможность вертикальной прокрутки таблицы.
Returns: Returns:
@ -339,16 +311,14 @@ class TemplatesTab(BasePage):
Returns: Returns:
bool: True если скроллинг возможен, иначе False. bool: True если скроллинг возможен, иначе False.
""" """
return self.templates_table.is_scrollable_vertically( temp_modal = ModalWindowComponent(self.page)
ModalWindowLocators.MODAL_WINDOW_SCROLL_CONTAINER return temp_modal.check_window_vertical_scrolling()
)
def verify_json_container_content(self, template_name: str, save_to_file: bool = False) -> None: def verify_json_container_content(self, title: str) -> None:
"""Проверяет соответствие данных контейнера данным из API. """Проверяет соответствие данных контейнера данным из API.
Args: Args:
template_name: Имя шаблона для проверки. title: Имя шаблона для проверки.
save_to_file: Флаг для сохранения данных в файл.
""" """
# Читаем данные из контейнера # Читаем данные из контейнера
@ -359,12 +329,7 @@ class TemplatesTab(BasePage):
response_body = self.get_response_body(response) response_body = self.get_response_body(response)
# Извлекаем конкретный шаблон по имени из ответа API # Извлекаем конкретный шаблон по имени из ответа API
template_data = self.extract_specific_template(template_name, response_body) template_data = self.extract_specific_template(title, response_body)
# Сохраняем данные в файл если требуется
if save_to_file:
file_path = self.save_template_data_to_file(template_data)
logger.info("Template data saved to: %s", file_path)
# Сравниваем actual_data с данными конкретного шаблона # Сравниваем actual_data с данными конкретного шаблона
self.json_container.check_json_equals( self.json_container.check_json_equals(

View File

@ -93,13 +93,13 @@ class ZTPTemplatesTab(BasePage):
# Создаем временный экземпляр модального окна для получения заголовка # Создаем временный экземпляр модального окна для получения заголовка
temp_modal = ViewTemplateModalWindow(self.page, "") temp_modal = ViewTemplateModalWindow(self.page, "")
template_name = temp_modal.toolbar.get_toolbar_title_text( title = temp_modal.toolbar.get_toolbar_title_text(
ModalWindowLocators.MODAL_WINDOW_TITLE ModalWindowLocators.MODAL_WINDOW_TITLE
) )
# Добавляем модальное окно в коллекцию после открытия # Добавляем модальное окно в коллекцию после открытия
self.add_modal_window(template_name) self.add_modal_window(title)
return template_name return title
def close_modal_window_by_toolbar_button(self, title: str) -> None: def close_modal_window_by_toolbar_button(self, title: str) -> None:
"""Закрывает модальное окно через кнопку в тулбаре. """Закрывает модальное окно через кнопку в тулбаре.
@ -150,16 +150,16 @@ class ZTPTemplatesTab(BasePage):
temp_modal = ModalWindowComponent(self.page) temp_modal = ModalWindowComponent(self.page)
temp_modal.scroll_window_down() temp_modal.scroll_window_down()
def check_templates_modal_content(self, template_name: str) -> None: def check_templates_modal_content(self, title: str) -> None:
"""Проверяет наличие и корректность элементов модального окна шаблона. """Проверяет наличие и корректность элементов модального окна шаблона.
Args: Args:
template_name: Имя шаблона для проверки заголовка окна. title: Имя шаблона для проверки заголовка окна.
Raises: Raises:
AssertionError: Если элементы окна некорректны. AssertionError: Если элементы окна некорректны.
""" """
modal_window = self.get_modal_window(template_name) modal_window = self.get_modal_window(title)
modal_window.check_content() modal_window.check_content()
def check_templates_table_content(self) -> None: def check_templates_table_content(self) -> None:
@ -268,7 +268,7 @@ class ZTPTemplatesTab(BasePage):
temp_modal = ModalWindowComponent(self.page) temp_modal = ModalWindowComponent(self.page)
return temp_modal.check_window_vertical_scrolling() return temp_modal.check_window_vertical_scrolling()
def verify_template_data_with_api(self, template_name: str) -> None: def verify_template_data_with_api(self, title: str) -> None:
"""Проверяет соответствие данных модального окна данным из API. """Проверяет соответствие данных модального окна данным из API.
Процесс проверки: Процесс проверки:
@ -279,7 +279,7 @@ class ZTPTemplatesTab(BasePage):
5. Выбрасывает assertion при обнаружении расхождений 5. Выбрасывает assertion при обнаружении расхождений
Args: Args:
template_name: Имя шаблона для проверки (должно совпадать с id в API). title: Имя шаблона для проверки (должно совпадать с id в API).
Raises: Raises:
AssertionError: Если: AssertionError: Если:
@ -289,14 +289,14 @@ class ZTPTemplatesTab(BasePage):
- Имя шаблона в модальном окне не соответствует ожидаемому - Имя шаблона в модальном окне не соответствует ожидаемому
""" """
# Получаем модальное окно # Получаем модальное окно
modal_window = self.get_modal_window(template_name) modal_window = self.get_modal_window(title)
# Читаем данные модального окна (метод теперь в ViewTemplateModalWindow) # Читаем данные модального окна
actual_data = modal_window.get_modal_window_data() actual_data = modal_window.get_modal_window_data()
# Читаем данные из API # Читаем данные из API
encoded_template_name = template_name.replace(" ", "%20") encoded_title = title.replace(" ", "%20")
url = f"e-nms/DHCP/showOptPattern?template={encoded_template_name}" url = f"e-nms/DHCP/showOptPattern?template={encoded_title}"
response = self.send_get_api_request(url) response = self.send_get_api_request(url)
# Проверяем статус ответа # Проверяем статус ответа
@ -308,5 +308,5 @@ class ZTPTemplatesTab(BasePage):
response_data = response.json() response_data = response.json()
template_data = response_data['data'] template_data = response_data['data']
# Сравниваем actual_data с данными конкретного шаблона (метод теперь в ViewTemplateModalWindow) # Сравниваем actual_data с данными конкретного шаблона
modal_window.compare_modal_with_api_data(actual_data, template_data, template_name) modal_window.compare_modal_with_api_data(actual_data, template_data, title)

View File

@ -46,7 +46,7 @@ class TestTemplatesTab:
main_page.click_subpanel_item("Шаблоны") main_page.click_subpanel_item("Шаблоны")
def test_templates_tab_content(self, browser: Page) -> None: def test_templates_tab_content(self, browser: Page) -> None:
"""Тест содержимого вкладки 'Шаблоны'. """Тест содержимого вкладка 'Шаблоны'.
Проверяет: Проверяет:
1. Наличие и корректность тулбара 1. Наличие и корректность тулбара
@ -106,7 +106,7 @@ class TestTemplatesTab:
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
# Проверка возможности вертикального скроллинга # Проверка возможности вертикального скроллинга
is_scrollable = templates_tab.check_templates_table_verticall_scrolling() is_scrollable = templates_tab.check_templates_table_vertical_scrolling()
if is_scrollable: if is_scrollable:
print("Таблица поддерживает вертикальный скроллинг") print("Таблица поддерживает вертикальный скроллинг")
@ -152,7 +152,7 @@ class TestTemplatesTab:
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
# Открываем модальное окно, кликая на первую строку таблицы # Открываем модальное окно, кликая на первую строку таблицы
template_name = templates_tab.open_template_modal(0) title = templates_tab.open_template_modal_by_index(0)
# Добавляем задержку для открытия модального окна # Добавляем задержку для открытия модального окна
browser.wait_for_timeout(1000) browser.wait_for_timeout(1000)
@ -161,10 +161,10 @@ class TestTemplatesTab:
templates_tab.should_be_modal_window() templates_tab.should_be_modal_window()
# Проверка содержимого модального окна # Проверка содержимого модального окна
templates_tab.check_templates_modal_content(template_name) templates_tab.check_templates_modal_content(title)
# Закрытие модального окна через кнопку закрытия # Закрытие модального окна через кнопку закрытия
templates_tab.close_modal_window_by_toolbar_button(template_name) templates_tab.close_modal_window_by_toolbar_button(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
templates_tab.should_not_be_modal_window() templates_tab.should_not_be_modal_window()
@ -188,7 +188,7 @@ class TestTemplatesTab:
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
# Открываем модальное окно, кликая на первую строку таблицы # Открываем модальное окно, кликая на первую строку таблицы
template_name = templates_tab.open_template_modal(0) title = templates_tab.open_template_modal_by_index(0)
# Добавляем задержку для открытия модального окна # Добавляем задержку для открытия модального окна
browser.wait_for_timeout(1000) browser.wait_for_timeout(1000)
@ -213,7 +213,7 @@ class TestTemplatesTab:
print("Модальное окно не поддерживает вертикальный скроллинг") print("Модальное окно не поддерживает вертикальный скроллинг")
# Закрытие модального окна через кнопку закрытия # Закрытие модального окна через кнопку закрытия
templates_tab.close_modal_window_by_toolbar_button(template_name) templates_tab.close_modal_window_by_toolbar_button(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
templates_tab.should_not_be_modal_window() templates_tab.should_not_be_modal_window()
@ -237,7 +237,7 @@ class TestTemplatesTab:
browser.wait_for_timeout(5000) browser.wait_for_timeout(5000)
# Открываем модальное окно, кликая на первую строку таблицы # Открываем модальное окно, кликая на первую строку таблицы
template_name = templates_tab.open_template_modal(0) title = templates_tab.open_template_modal_by_index(0)
# Добавляем задержку для открытия модального окна # Добавляем задержку для открытия модального окна
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
@ -246,13 +246,10 @@ class TestTemplatesTab:
templates_tab.should_be_modal_window() templates_tab.should_be_modal_window()
# Проверка соответствия данных модального окна данным из API # Проверка соответствия данных модального окна данным из API
templates_tab.verify_json_container_content( templates_tab.verify_json_container_content(title)
template_name,
save_to_file=False
)
# Закрытие модального окна через кнопку закрытия # Закрытие модального окна через кнопку закрытия
templates_tab.close_modal_window_by_toolbar_button(template_name) templates_tab.close_modal_window_by_toolbar_button(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
templates_tab.should_not_be_modal_window() templates_tab.should_not_be_modal_window()

View File

@ -167,14 +167,14 @@ class TestZTPTemplatesTab:
# Тест 1: Закрытие через кнопку 'Закрыть' в содержимом окна # Тест 1: Закрытие через кнопку 'Закрыть' в содержимом окна
print("Тест 1: Закрытие через кнопку 'Закрыть'") print("Тест 1: Закрытие через кнопку 'Закрыть'")
template_name = ztp_templates_tab.open_template_modal_by_index(0) title = ztp_templates_tab.open_template_modal_by_index(0)
browser.wait_for_timeout(1000) browser.wait_for_timeout(1000)
# Проверка открытия модального окна # Проверка открытия модального окна
ztp_templates_tab.should_be_modal_window() ztp_templates_tab.should_be_modal_window()
# Закрытие через кнопку 'Закрыть' # Закрытие через кнопку 'Закрыть'
ztp_templates_tab.close_modal_window(template_name) ztp_templates_tab.close_modal_window(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
ztp_templates_tab.should_not_be_modal_window() ztp_templates_tab.should_not_be_modal_window()
@ -182,14 +182,14 @@ class TestZTPTemplatesTab:
# Тест 2: Закрытие через кнопку в тулбаре # Тест 2: Закрытие через кнопку в тулбаре
print("Тест 2: Закрытие через кнопку в тулбаре") print("Тест 2: Закрытие через кнопку в тулбаре")
template_name = ztp_templates_tab.open_template_modal_by_index(0) title = ztp_templates_tab.open_template_modal_by_index(0)
browser.wait_for_timeout(1000) browser.wait_for_timeout(1000)
# Проверка открытия модального окна # Проверка открытия модального окна
ztp_templates_tab.should_be_modal_window() ztp_templates_tab.should_be_modal_window()
# Закрытие через кнопку в тулбаре # Закрытие через кнопку в тулбаре
ztp_templates_tab.close_modal_window_by_toolbar_button(template_name) ztp_templates_tab.close_modal_window_by_toolbar_button(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
ztp_templates_tab.should_not_be_modal_window() ztp_templates_tab.should_not_be_modal_window()
@ -217,7 +217,7 @@ class TestZTPTemplatesTab:
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
# Открываем модальное окно, кликая на первую строку таблицы # Открываем модальное окно, кликая на первую строку таблицы
template_name = ztp_templates_tab.open_template_modal_by_index(0) title = ztp_templates_tab.open_template_modal_by_index(0)
# Добавляем задержку для открытия модального окна # Добавляем задержку для открытия модального окна
browser.wait_for_timeout(1000) browser.wait_for_timeout(1000)
@ -226,10 +226,10 @@ class TestZTPTemplatesTab:
ztp_templates_tab.should_be_modal_window() ztp_templates_tab.should_be_modal_window()
# Проверка содержимого модального окна # Проверка содержимого модального окна
ztp_templates_tab.check_templates_modal_content(template_name) ztp_templates_tab.check_templates_modal_content(title)
# Закрытие модального окна через кнопку 'Закрыть' # Закрытие модального окна через кнопку 'Закрыть'
ztp_templates_tab.close_modal_window(template_name) ztp_templates_tab.close_modal_window(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
ztp_templates_tab.should_not_be_modal_window() ztp_templates_tab.should_not_be_modal_window()
@ -254,7 +254,7 @@ class TestZTPTemplatesTab:
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
# Открываем модальное окно, кликая на первую строку таблицы # Открываем модальное окно, кликая на первую строку таблицы
template_name = ztp_templates_tab.open_template_modal_by_index(0) title = ztp_templates_tab.open_template_modal_by_index(0)
# Добавляем задержку для открытия модального окна # Добавляем задержку для открытия модального окна
browser.wait_for_timeout(1000) browser.wait_for_timeout(1000)
@ -279,7 +279,7 @@ class TestZTPTemplatesTab:
print("Модальное окно не поддерживает вертикальный скроллинг") print("Модальное окно не поддерживает вертикальный скроллинг")
# Закрытие модального окна через кнопку 'Закрыть' # Закрытие модального окна через кнопку 'Закрыть'
ztp_templates_tab.close_modal_window(template_name) ztp_templates_tab.close_modal_window(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
ztp_templates_tab.should_not_be_modal_window() ztp_templates_tab.should_not_be_modal_window()
@ -308,7 +308,7 @@ class TestZTPTemplatesTab:
browser.wait_for_timeout(5000) browser.wait_for_timeout(5000)
# Открываем модальное окно, кликая на первую строку таблицы и возвращаем имя заголовка # Открываем модальное окно, кликая на первую строку таблицы и возвращаем имя заголовка
template_name = ztp_templates_tab.open_template_modal_by_index(0) title = ztp_templates_tab.open_template_modal_by_index(0)
# Добавляем задержку для открытия модального окна # Добавляем задержку для открытия модального окна
browser.wait_for_timeout(2000) browser.wait_for_timeout(2000)
@ -317,10 +317,10 @@ class TestZTPTemplatesTab:
ztp_templates_tab.should_be_modal_window() ztp_templates_tab.should_be_modal_window()
# Проверка соответствия данных модального окна данным из API # Проверка соответствия данных модального окна данным из API
ztp_templates_tab.verify_template_data_with_api(template_name) ztp_templates_tab.verify_template_data_with_api(title)
# Закрытие модального окна через кнопку закрытия # Закрытие модального окна через кнопку закрытия
ztp_templates_tab.close_modal_window_by_toolbar_button(template_name) ztp_templates_tab.close_modal_window_by_toolbar_button(title)
# Проверяем, что модальное окно закрылось # Проверяем, что модальное окно закрылось
ztp_templates_tab.should_not_be_modal_window() ztp_templates_tab.should_not_be_modal_window()