Набор тестов для вкладки 'Сеансы/Настройки'.
Проверяет корректность отображения и функциональность элементов вкладки настройки времени жизни сеансов.
Тесты покрывают следующие сценарии:
1. test_session_settings_tab_content: Тест содержимого вкладки 'Сеансы/Настройки'
2. test_edit_session_settings: Тест проверки возможности редактирования выбранных полей формы
настройки времени жизни сеансов.
3. test_edit_session_setting_by_arrow: Тест проверки возможности увеличения/уменьшения значения
выбранного поля формы с помощью стрелочек Вверх/Вниз.
Source code in tests\e2e\sessions\test_session_settings_tab.py
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 | class TestSessionSettingsTab:
"""Набор тестов для вкладки 'Сеансы/Настройки'.
Проверяет корректность отображения и функциональность элементов вкладки настройки времени жизни сеансов.
Тесты покрывают следующие сценарии:
1. test_session_settings_tab_content: Тест содержимого вкладки 'Сеансы/Настройки'
2. test_edit_session_settings: Тест проверки возможности редактирования выбранных полей формы
настройки времени жизни сеансов.
3. test_edit_session_setting_by_arrow: Тест проверки возможности увеличения/уменьшения значения
выбранного поля формы с помощью стрелочек Вверх/Вниз.
"""
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
"""Фикстура для подготовки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на вкладку 'Сеансы/Настройки' через панель навигации
"""
# Авторизация в системе
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("Обслуживание и диагностика")
main_page.click_subpanel_item("Сеансы")
main_page.click_subpanel_item("Настройки", parent="Сеансы")
# @pytest.mark.develop
def test_session_settings_tab_content(self, browser: Page) -> None:
"""Тест содержимого вкладки 'Сеансы/Настройки'.
Проверяет:
1. Наличие и корректность элементов интерфейса
2. Соответствие содержимого полей формы данным из БД
"""
# Инициализация страницы сеансов
session_settings_tab = SessionSettingsTab(browser)
# Проверка элементов интерфейса
session_settings_tab.check_content()
# Проверяем API ответ
response = session_settings_tab.send_get_api_request("e-cmdb/api/objectByPath?path=/config/auth")
if response.status == 200:
response_body = session_settings_tab.get_response_body(response)
if response_body:
# Проверка содержимого таблица с верификацией данных из БД
session_settings = response_body.get("options").get("key_ttl")
session_settings_tab.verify_form_data(session_settings)
else:
print(f"Error request session setings data from API: {response.status_text}")
#@pytest.mark.develop
def test_edit_session_settings(self, browser: Page) -> None:
"""Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.
Проверяет:
1. Возможность редактирования выбранных полей формы настройки времени жизни сеансов.
"""
new_settings = {'administrator': "50",
'operator': "20",
'manager': "20",
"inform_secur_user": "25"}
# Инициализация страницы сеансов
session_settings_tab = SessionSettingsTab(browser)
session_settings_tab.edit_settings(new_settings)
# temporarily
# updated_settings = session_settings_tab.get_settings_values()
# for key, value in new_settings.items():
# updated_value = updated_settings.get(key)
# assert updated_value == value, f"{key} updated value {updated_value} is not equal expected value {value}"
# @pytest.mark.develop
def test_edit_session_setting_by_arrow(self, browser: Page) -> None:
"""Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.
"""
field_name = 'operator'
# Инициализация страницы сеансов
session_settings_tab = SessionSettingsTab(browser)
session_settings_tab.click_edit_button()
start_value = session_settings_tab.get_setting_value(field_name)
expected_value = int(start_value)
for i in range(5):
session_settings_tab.increase_setting_value(field_name)
current_value = int(session_settings_tab.get_setting_value(field_name))
expected_value += 1
assert current_value == expected_value, \
f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"
for j in range(5):
session_settings_tab.decrease_setting_value(field_name)
current_value = int(session_settings_tab.get_setting_value(field_name))
expected_value -= 1
assert current_value == expected_value, \
f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"
current_value = int(session_settings_tab.get_setting_value(field_name))
assert current_value == int(start_value), \
f"Expected value {start_value} is not equal current value {current_value} for {field_name} setting"
session_settings_tab.click_cancel_button()
|
setup(browser)
Фикстура для подготовки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на вкладку 'Сеансы/Настройки' через панель навигации
Source code in tests\e2e\sessions\test_session_settings_tab.py
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 | @pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
"""Фикстура для подготовки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на вкладку 'Сеансы/Настройки' через панель навигации
"""
# Авторизация в системе
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("Обслуживание и диагностика")
main_page.click_subpanel_item("Сеансы")
main_page.click_subpanel_item("Настройки", parent="Сеансы")
|
test_edit_session_setting_by_arrow(browser)
Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.
Source code in tests\e2e\sessions\test_session_settings_tab.py
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 | def test_edit_session_setting_by_arrow(self, browser: Page) -> None:
"""Тест проверки возможности увеличения/уменьшения значения выбранного поля формы с помощью стрелочек Вверх/Вниз.
"""
field_name = 'operator'
# Инициализация страницы сеансов
session_settings_tab = SessionSettingsTab(browser)
session_settings_tab.click_edit_button()
start_value = session_settings_tab.get_setting_value(field_name)
expected_value = int(start_value)
for i in range(5):
session_settings_tab.increase_setting_value(field_name)
current_value = int(session_settings_tab.get_setting_value(field_name))
expected_value += 1
assert current_value == expected_value, \
f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"
for j in range(5):
session_settings_tab.decrease_setting_value(field_name)
current_value = int(session_settings_tab.get_setting_value(field_name))
expected_value -= 1
assert current_value == expected_value, \
f"Expected value {expected_value} is not equal current value {current_value} for {field_name} setting"
current_value = int(session_settings_tab.get_setting_value(field_name))
assert current_value == int(start_value), \
f"Expected value {start_value} is not equal current value {current_value} for {field_name} setting"
session_settings_tab.click_cancel_button()
|
test_edit_session_settings(browser)
Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.
Проверяет:
1. Возможность редактирования выбранных полей формы настройки времени жизни сеансов.
Source code in tests\e2e\sessions\test_session_settings_tab.py
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92 | def test_edit_session_settings(self, browser: Page) -> None:
"""Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.
Проверяет:
1. Возможность редактирования выбранных полей формы настройки времени жизни сеансов.
"""
new_settings = {'administrator': "50",
'operator': "20",
'manager': "20",
"inform_secur_user": "25"}
# Инициализация страницы сеансов
session_settings_tab = SessionSettingsTab(browser)
session_settings_tab.edit_settings(new_settings)
|
test_session_settings_tab_content(browser)
Тест содержимого вкладки 'Сеансы/Настройки'.
Проверяет:
1. Наличие и корректность элементов интерфейса
2. Соответствие содержимого полей формы данным из БД
Source code in tests\e2e\sessions\test_session_settings_tab.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 | def test_session_settings_tab_content(self, browser: Page) -> None:
"""Тест содержимого вкладки 'Сеансы/Настройки'.
Проверяет:
1. Наличие и корректность элементов интерфейса
2. Соответствие содержимого полей формы данным из БД
"""
# Инициализация страницы сеансов
session_settings_tab = SessionSettingsTab(browser)
# Проверка элементов интерфейса
session_settings_tab.check_content()
# Проверяем API ответ
response = session_settings_tab.send_get_api_request("e-cmdb/api/objectByPath?path=/config/auth")
if response.status == 200:
response_body = session_settings_tab.get_response_body(response)
if response_body:
# Проверка содержимого таблица с верификацией данных из БД
session_settings = response_body.get("options").get("key_ttl")
session_settings_tab.verify_form_data(session_settings)
else:
print(f"Error request session setings data from API: {response.status_text}")
|