Bases: ModalWindowComponent
Модальное окно шаблона.
Наследует ModalWindowComponent и добавляет функционал для:
1. Инициализации модального окна с конкретным шаблоном
2. Закрытия модального окна
3. Получения конфигурационных данных шаблона
4. Проверки содержимого модального окна
Source code in components_derived\modal_view_template.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 | class ViewTemplateModalWindow(ModalWindowComponent):
"""Модальное окно шаблона.
Наследует ModalWindowComponent и добавляет функционал для:
1. Инициализации модального окна с конкретным шаблоном
2. Закрытия модального окна
3. Получения конфигурационных данных шаблона
4. Проверки содержимого модального окна
"""
def __init__(self, page: Page, template_name: str):
"""Инициализирует элементы формы модального окна шаблона."""
super().__init__(page)
# Настройка заголовка и кнопки закрытия
self.window_title = template_name
locator_button_toolbar_close = self.page.get_by_role("navigation").filter(
has_text=re.compile(self.window_title)
).get_by_role("button")
self.add_toolbar_title(self.window_title)
self.add_toolbar_button(locator_button_toolbar_close, "close")
def close_window(self) -> None:
"""Закрывает окно через кнопку 'Закрыть'."""
close_button = self.get_button_by_name("close")
close_button.click()
def check_content(self) -> None:
"""Проверяет наличие и корректность элементов окна.
Проверяет:
1. Наличие заголовка окна с именем шаблона
2. Видимость кнопки закрытия
3. Подсказку кнопки закрытия
"""
self.check_by_window_title()
self.check_toolbar_button_visibility("close")
self.check_toolbar_button_tooltip("close", "Закрыть")
# Разрабатывается =========================================================
def _get_config_data(self) -> dict:
"""Получает конфигурационные данные из модального окна.
Returns:
dict: Словарь с конфигурационными данными или пустой словарь
"""
config_data = {}
# Ищем контейнер с конфигурационными данными
config_container = self.page.locator(
"//*[@id='app']/div[2]/div/div/div/div/div/div/div/div/div[2]/div/div/div"
)
return config_data
|
__init__(page, template_name)
Инициализирует элементы формы модального окна шаблона.
Source code in components_derived\modal_view_template.py
26
27
28
29
30
31
32
33
34
35
36
37
38 | def __init__(self, page: Page, template_name: str):
"""Инициализирует элементы формы модального окна шаблона."""
super().__init__(page)
# Настройка заголовка и кнопки закрытия
self.window_title = template_name
locator_button_toolbar_close = self.page.get_by_role("navigation").filter(
has_text=re.compile(self.window_title)
).get_by_role("button")
self.add_toolbar_title(self.window_title)
self.add_toolbar_button(locator_button_toolbar_close, "close")
|
check_content()
Проверяет наличие и корректность элементов окна.
Проверяет:
1. Наличие заголовка окна с именем шаблона
2. Видимость кнопки закрытия
3. Подсказку кнопки закрытия
Source code in components_derived\modal_view_template.py
46
47
48
49
50
51
52
53
54
55
56
57 | def check_content(self) -> None:
"""Проверяет наличие и корректность элементов окна.
Проверяет:
1. Наличие заголовка окна с именем шаблона
2. Видимость кнопки закрытия
3. Подсказку кнопки закрытия
"""
self.check_by_window_title()
self.check_toolbar_button_visibility("close")
self.check_toolbar_button_tooltip("close", "Закрыть")
|
close_window()
Закрывает окно через кнопку 'Закрыть'.
Source code in components_derived\modal_view_template.py
| def close_window(self) -> None:
"""Закрывает окно через кнопку 'Закрыть'."""
close_button = self.get_button_by_name("close")
close_button.click()
|