Набор тестов для вкладки 'Конфигурация' в модуле Zero Touch Provisioning.
Проверяет корректность отображения, функциональность элементов интерфейса
на вкладке конфигурации ZTP.
Тесты покрывают следующие функциональные области:
1. test_ztp_config_tab_content - Базовая структура и содержимое вкладки
2. test_ztp_config_sync_buttons - Функциональность кнопок синхронизации
3. test_ztp_config_table_row_highlighting - Визуальное выделение строк таблицы
4. test_ztp_config_table_scrolling - Навигация по таблице с большим объемом данных
Source code in tests\e2e\test_ztp_config_tab.py
14
15
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182 | class TestZTPConfigTab:
"""Набор тестов для вкладки 'Конфигурация' в модуле Zero Touch Provisioning.
Проверяет корректность отображения, функциональность элементов интерфейса
на вкладке конфигурации ZTP.
Тесты покрывают следующие функциональные области:
1. test_ztp_config_tab_content - Базовая структура и содержимое вкладки
2. test_ztp_config_sync_buttons - Функциональность кнопок синхронизации
3. test_ztp_config_table_row_highlighting - Визуальное выделение строк таблицы
4. test_ztp_config_table_scrolling - Навигация по таблице с большим объемом данных
"""
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
"""Фикстура для подготовки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на вкладку 'Конфигурация' через панель навигации
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
# Авторизация в системе
login_page = LoginPage(browser)
login_page.do_login()
# Инициализация главной страницы
main_page = MainPage(browser)
# Проверка и взаимодействие с элементами навигации
main_page.should_be_navigation_panel()
main_page.click_main_navigation_panel_item("Настройки")
main_page.click_subpanel_item("Zero Touch Provisioning")
main_page.click_subpanel_item("Конфигурация", parent="Zero Touch Provisioning")
main_page.wait_for_timeout(1000)
#@pytest.mark.skip(reason=" Временно исключено из тестирования")
def test_ztp_config_tab_content(self, browser: Page) -> None:
"""Тест содержимого вкладки 'Конфигурация' ZTP.
Проверяет:
1. Наличие и корректность тулбара
2. Наличие таблицы конфигураций
3. Соответствие содержимого таблицы
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
# Инициализация страницы конфигурации ZTP
config_tab = ZTPConfigTab(browser)
# Проверка тулбара вкладки
config_tab.should_be_toolbar()
# Проверка наличия таблицы конфигурации
config_tab.should_be_config_table()
# Проверка содержимого таблицы конфигураций
config_tab.check_config_table_content()
#@pytest.mark.skip(reason="В разработке. Временно исключено из тестирования")
def test_ztp_config_sync_buttons(self, browser: Page) -> None:
"""Тест функциональности кнопки синхронизации (Reload) в таблице конфигурации ZTP.
Проверяет:
1. Наличие и видимость кнопки синхронизации в заголовке таблицы
2. Корректность текста подсказки кнопки (должна быть 'reload')
3. Работоспособность кнопки при клике
4. Интеграцию кнопки с системой управления подсказками тулбара
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI.
"""
# Инициализация страницы конфигурации ZTP
config_tab = ZTPConfigTab(browser)
# Проверка наличия таблицы конфигурации
config_tab.should_be_config_table()
# Ожидание загрузки данных таблицы
browser.wait_for_timeout(3000)
# Тестирование кнопки синхронизации в первой ячейке заголовка (индекс 0)
# Регистрация кнопки в системе управления тулбаром
config_tab.add_sync_button_to_toolbar(0)
# Проверка видимости кнопки
config_tab.check_sync_button_visibility(0)
# Проверка корректности подсказки кнопки
config_tab.check_sync_button_tooltip(0)
# Проверка работоспособности кнопки при клике
config_tab.click_sync_button(0)
@pytest.mark.skip(reason=" Временно исключено из тестирования")
def test_ztp_config_table_row_highlighting(self, browser: Page) -> None:
"""Проверка выделения строк в таблице конфигураций ZTP.
Проверяет корректность выделения строк при клике на различные позиции:
1. Первая строка
2. Последняя строка
3. Строка в середине таблицы
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
config_tab = ZTPConfigTab(browser)
# Проверка тулбара вкладки
config_tab.should_be_toolbar()
# Проверка наличия таблицы конфигураций
config_tab.should_be_config_table()
# Получение количества строк в таблице
rows_count = config_tab.get_rows_count()
# Проверка выделения строк в различных позициях таблицы
config_tab.check_config_table_row_highlighting(0) # Первая строка
config_tab.check_config_table_row_highlighting(rows_count - 1) # Последняя строка
config_tab.check_config_table_row_highlighting(int(rows_count / 2)) # Строка в середине
@pytest.mark.skip(reason=" Временно исключено из тестирования")
def test_ztp_config_table_scrolling(self, browser: Page) -> None:
"""Проверка вертикального скроллинга таблицы конфигураций ZTP.
Проверяет:
1. Возможность вертикальной прокрутки таблицы
2. Видимость строк после прокрутки вниз и вверх
3. Корректность отображения данных после скроллинга
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
config_tab = ZTPConfigTab(browser)
# Ожидание загрузки таблицы
browser.wait_for_timeout(2000)
# Проверка возможности вертикального скроллинга
is_scrollable = config_tab.check_config_table_vertical_scrolling()
if is_scrollable:
print("Таблица поддерживает вертикальный скроллинг")
# Прокрутка вниз до конца таблицы
config_tab.scroll_config_table_down()
browser.wait_for_timeout(1000)
# Проверка видимости последней строки после прокрутки
config_tab.check_config_table_last_row_visibility()
# Прокрутка вверх до начала таблицы
config_tab.scroll_config_table_up()
browser.wait_for_timeout(1000)
# Проверка видимости первой строки после прокрутки
config_tab.check_config_table_first_row_visibility()
else:
print("Таблица не поддерживает вертикальный скроллинг")
# Проверка видимости первой строки при отсутствии скроллинга
config_tab.check_config_table_first_row_visibility()
|
setup(browser)
Фикстура для подготовки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на вкладку 'Конфигурация' через панель навигации
Parameters:
| Name |
Type |
Description |
Default |
browser
|
Page
|
Экземпляр страницы Playwright для взаимодействия с UI
|
required
|
Source code in tests\e2e\test_ztp_config_tab.py
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 | @pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
"""Фикстура для подготовки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на вкладку 'Конфигурация' через панель навигации
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
# Авторизация в системе
login_page = LoginPage(browser)
login_page.do_login()
# Инициализация главной страницы
main_page = MainPage(browser)
# Проверка и взаимодействие с элементами навигации
main_page.should_be_navigation_panel()
main_page.click_main_navigation_panel_item("Настройки")
main_page.click_subpanel_item("Zero Touch Provisioning")
main_page.click_subpanel_item("Конфигурация", parent="Zero Touch Provisioning")
main_page.wait_for_timeout(1000)
|
Тест функциональности кнопки синхронизации (Reload) в таблице конфигурации ZTP.
Проверяет:
1. Наличие и видимость кнопки синхронизации в заголовке таблицы
2. Корректность текста подсказки кнопки (должна быть 'reload')
3. Работоспособность кнопки при клике
4. Интеграцию кнопки с системой управления подсказками тулбара
Parameters:
| Name |
Type |
Description |
Default |
browser
|
Page
|
Экземпляр страницы Playwright для взаимодействия с UI.
|
required
|
Source code in tests\e2e\test_ztp_config_tab.py
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110 | def test_ztp_config_sync_buttons(self, browser: Page) -> None:
"""Тест функциональности кнопки синхронизации (Reload) в таблице конфигурации ZTP.
Проверяет:
1. Наличие и видимость кнопки синхронизации в заголовке таблицы
2. Корректность текста подсказки кнопки (должна быть 'reload')
3. Работоспособность кнопки при клике
4. Интеграцию кнопки с системой управления подсказками тулбара
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI.
"""
# Инициализация страницы конфигурации ZTP
config_tab = ZTPConfigTab(browser)
# Проверка наличия таблицы конфигурации
config_tab.should_be_config_table()
# Ожидание загрузки данных таблицы
browser.wait_for_timeout(3000)
# Тестирование кнопки синхронизации в первой ячейке заголовка (индекс 0)
# Регистрация кнопки в системе управления тулбаром
config_tab.add_sync_button_to_toolbar(0)
# Проверка видимости кнопки
config_tab.check_sync_button_visibility(0)
# Проверка корректности подсказки кнопки
config_tab.check_sync_button_tooltip(0)
# Проверка работоспособности кнопки при клике
config_tab.click_sync_button(0)
|
test_ztp_config_tab_content(browser)
Тест содержимого вкладки 'Конфигурация' ZTP.
Проверяет:
1. Наличие и корректность тулбара
2. Наличие таблицы конфигураций
3. Соответствие содержимого таблицы
Parameters:
| Name |
Type |
Description |
Default |
browser
|
Page
|
Экземпляр страницы Playwright для взаимодействия с UI
|
required
|
Source code in tests\e2e\test_ztp_config_tab.py
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 | def test_ztp_config_tab_content(self, browser: Page) -> None:
"""Тест содержимого вкладки 'Конфигурация' ZTP.
Проверяет:
1. Наличие и корректность тулбара
2. Наличие таблицы конфигураций
3. Соответствие содержимого таблицы
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
# Инициализация страницы конфигурации ZTP
config_tab = ZTPConfigTab(browser)
# Проверка тулбара вкладки
config_tab.should_be_toolbar()
# Проверка наличия таблицы конфигурации
config_tab.should_be_config_table()
# Проверка содержимого таблицы конфигураций
config_tab.check_config_table_content()
|
test_ztp_config_table_row_highlighting(browser)
Проверка выделения строк в таблице конфигураций ZTP.
Проверяет корректность выделения строк при клике на различные позиции:
1. Первая строка
2. Последняя строка
3. Строка в середине таблицы
Parameters:
| Name |
Type |
Description |
Default |
browser
|
Page
|
Экземпляр страницы Playwright для взаимодействия с UI
|
required
|
Source code in tests\e2e\test_ztp_config_tab.py
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 | @pytest.mark.skip(reason=" Временно исключено из тестирования")
def test_ztp_config_table_row_highlighting(self, browser: Page) -> None:
"""Проверка выделения строк в таблице конфигураций ZTP.
Проверяет корректность выделения строк при клике на различные позиции:
1. Первая строка
2. Последняя строка
3. Строка в середине таблицы
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
config_tab = ZTPConfigTab(browser)
# Проверка тулбара вкладки
config_tab.should_be_toolbar()
# Проверка наличия таблицы конфигураций
config_tab.should_be_config_table()
# Получение количества строк в таблице
rows_count = config_tab.get_rows_count()
# Проверка выделения строк в различных позициях таблицы
config_tab.check_config_table_row_highlighting(0) # Первая строка
config_tab.check_config_table_row_highlighting(rows_count - 1) # Последняя строка
config_tab.check_config_table_row_highlighting(int(rows_count / 2)) # Строка в середине
|
Проверка вертикального скроллинга таблицы конфигураций ZTP.
Проверяет:
1. Возможность вертикальной прокрутки таблицы
2. Видимость строк после прокрутки вниз и вверх
3. Корректность отображения данных после скроллинга
Parameters:
| Name |
Type |
Description |
Default |
browser
|
Page
|
Экземпляр страницы Playwright для взаимодействия с UI
|
required
|
Source code in tests\e2e\test_ztp_config_tab.py
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182 | @pytest.mark.skip(reason=" Временно исключено из тестирования")
def test_ztp_config_table_scrolling(self, browser: Page) -> None:
"""Проверка вертикального скроллинга таблицы конфигураций ZTP.
Проверяет:
1. Возможность вертикальной прокрутки таблицы
2. Видимость строк после прокрутки вниз и вверх
3. Корректность отображения данных после скроллинга
Args:
browser (Page): Экземпляр страницы Playwright для взаимодействия с UI
"""
config_tab = ZTPConfigTab(browser)
# Ожидание загрузки таблицы
browser.wait_for_timeout(2000)
# Проверка возможности вертикального скроллинга
is_scrollable = config_tab.check_config_table_vertical_scrolling()
if is_scrollable:
print("Таблица поддерживает вертикальный скроллинг")
# Прокрутка вниз до конца таблицы
config_tab.scroll_config_table_down()
browser.wait_for_timeout(1000)
# Проверка видимости последней строки после прокрутки
config_tab.check_config_table_last_row_visibility()
# Прокрутка вверх до начала таблицы
config_tab.scroll_config_table_up()
browser.wait_for_timeout(1000)
# Проверка видимости первой строки после прокрутки
config_tab.check_config_table_first_row_visibility()
else:
print("Таблица не поддерживает вертикальный скроллинг")
# Проверка видимости первой строки при отсутствии скроллинга
config_tab.check_config_table_first_row_visibility()
|