Актуализация тестов панели 'Настройки' в соответствии с последними изменениями UI

main
nsubbot 2026-04-13 09:58:02 +03:00
parent cab4f18f55
commit 57d8a0466d
8 changed files with 124 additions and 63 deletions

View File

@ -153,7 +153,12 @@ class SelectionBarComponent(BaseComponent):
self.selection_bar_locator.click(force=True) self.selection_bar_locator.click(force=True)
# Ждем появления выпадающего списка # Ждем появления выпадающего списка
if self.page.locator(SelectionBarLocators.LIST_ACTIVE).count() > 1:
self.page.locator(SelectionBarLocators.LIST_ACTIVE).last.wait_for(state="attached")
else:
self.page.locator(SelectionBarLocators.LIST_ACTIVE).wait_for(state="attached") self.page.locator(SelectionBarLocators.LIST_ACTIVE).wait_for(state="attached")
#self.page.locator(SelectionBarLocators.LIST_ACTIVE).wait_for(state="attached")
# self.wait_for_timeout(1500) # self.wait_for_timeout(1500)
def select_value(self, name: str) -> None: def select_value(self, name: str) -> None:

View File

@ -99,7 +99,6 @@ class BackupSettingsTab(BasePage):
dump_selector = self.streaming_data_settings.get_content_item("streaming_data_dump_selector") dump_selector = self.streaming_data_settings.get_content_item("streaming_data_dump_selector")
dump_selector.clear_selections() dump_selector.clear_selections()
def create_inventory_copy(self) -> None: def create_inventory_copy(self) -> None:
"""Создать резервную копию Системы.""" """Создать резервную копию Системы."""

View File

@ -296,6 +296,19 @@ class LDAPAuthSettingsTab(BasePage):
if name == "password_hidden_icon": if name == "password_hidden_icon":
is_hidden_state = item.is_password_hidden() is_hidden_state = item.is_password_hidden()
assert is_hidden_state, "Password hidden icon should be in hidden state" assert is_hidden_state, "Password hidden icon should be in hidden state"
hidden_password = self.get_password_setting_value()
self.click_password_hidden_icon()
is_hidden_state = item.is_password_hidden()
assert not is_hidden_state, "Password hidden icon should be in viewed state"
viewed_password = self.get_password_setting_value()
assert len(hidden_password) == len(viewed_password), \
"The lengths of hidden and viewed passwords should be equal"
self.click_password_hidden_icon()
is_hidden_state = item.is_password_hidden()
assert is_hidden_state, "Password hidden icon should be in hidden state"
def should_be_toolbar(self) -> None: def should_be_toolbar(self) -> None:
"""Проверяет наличие тулбара страницы, наличие и функциональность кнопок тулбара. """Проверяет наличие тулбара страницы, наличие и функциональность кнопок тулбара.

View File

@ -168,8 +168,6 @@ class SessionSettingsTab(BasePage):
field.input_value(value) field.input_value(value)
# temporararily # temporararily
self.click_cancel_button()
# self.click_save_button() # self.click_save_button()
# alert_type = self.alert.get_alert_type() # alert_type = self.alert.get_alert_type()

View File

@ -220,12 +220,11 @@ class TestCurrentSessionsTab:
Проверяет: Проверяет:
1. Создание нового пользователя 1. Создание нового пользователя
2. Вход нового пользователя в систему 2. Вход нового пользователя в систему
3. Проверка наличия сеанса нового пользователя 3. Вход в систему пользователя admin
4. Выход нового пользователя из системы (logout) 4. Проверка наличия сеанса нового пользователя
5. Вход в систему пользователя admin 5. Удаление сеанса нового пользователя
6. Удаление сеанса нового пользователя 6. Проверка отсутствия сеанса нового пользователя
7. Проверка отсутствия сеанса нового пользователя 7. Удаление пользователя выполняется автоматически фикстурой cleanup_users
8. Удаление пользователя выполняется автоматически фикстурой cleanup_users
""" """
user_data = {"name": "TestUserForManualDeletion", "role": "Администратор", "password": "qwerty1234567"} user_data = {"name": "TestUserForManualDeletion", "role": "Администратор", "password": "qwerty1234567"}
@ -445,9 +444,6 @@ class TestCurrentSessionsTab:
# Проверка наличия сеанса в таблице # Проверка наличия сеанса в таблице
sessions_tab.should_be_session_in_table(new_user_token) sessions_tab.should_be_session_in_table(new_user_token)
# Выход из системы нового пользователя
new_mp.do_logout()
# Авторизация администратором # Авторизация администратором
admin_lp = LoginPage(browser) admin_lp = LoginPage(browser)
admin_lp.do_login() admin_lp.do_login()
@ -551,6 +547,8 @@ class TestCurrentSessionsTab:
print("Ожидание 15 минут для автоматического удаления сеанса...") print("Ожидание 15 минут для автоматического удаления сеанса...")
browser.wait_for_timeout(901000) # 15 минут 1 секунда в миллисекундах browser.wait_for_timeout(901000) # 15 минут 1 секунда в миллисекундах
# TO-DO: Должна быть проверка перехода на страницу логина для текущего пользователя, fix 890
# Авторизация администратором # Авторизация администратором
admin_lp = LoginPage(browser) admin_lp = LoginPage(browser)
admin_lp.do_login() admin_lp.do_login()

View File

@ -74,7 +74,7 @@ class TestSessionSettingsTab:
else: else:
print(f"Error request session setings data from API: {response.status_text}") print(f"Error request session setings data from API: {response.status_text}")
#@pytest.mark.develop # @pytest.mark.develop
def test_edit_session_settings(self, browser: Page) -> None: def test_edit_session_settings(self, browser: Page) -> None:
"""Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов. """Тест проверки возможности редактирования выбранных полей формы настройки времени жизни сеансов.
@ -91,12 +91,14 @@ class TestSessionSettingsTab:
session_settings_tab.edit_settings(new_settings) session_settings_tab.edit_settings(new_settings)
# temporarily updated_settings = session_settings_tab.get_settings_values()
# updated_settings = session_settings_tab.get_settings_values()
# for key, value in new_settings.items(): for key, value in new_settings.items():
# updated_value = updated_settings.get(key) updated_value = updated_settings.get(key)
# assert updated_value == value, f"{key} updated value {updated_value} is not equal expected value {value}" assert updated_value == value, f"{key} updated value {updated_value} is not equal expected value {value}"
# temporarily
session_settings_tab.click_cancel_button()
# @pytest.mark.develop # @pytest.mark.develop
def test_edit_session_setting_by_arrow(self, browser: Page) -> None: def test_edit_session_setting_by_arrow(self, browser: Page) -> None:

View File

@ -306,6 +306,14 @@ class TestBackupSettingsTab:
# Инициализация страницы сеансов # Инициализация страницы сеансов
backup_settings_tab = BackupSettingsTab(browser) backup_settings_tab = BackupSettingsTab(browser)
# считываем и запоминаем текущие знчения
orig_inventory_scheduler_settings = backup_settings_tab.get_inventory_scheduler_settings_values()
orig_auto_backup = orig_inventory_scheduler_settings.get("auto_backup")
assert orig_auto_backup, "Сouldn't read the value of 'auto backup' from inventory scheduler settings"
orig_backup_limitation = orig_inventory_scheduler_settings.get("backup_limitation")
assert orig_backup_limitation, "Сouldn't read the value of 'backup limitation' from inventory scheduler settings"
# устанавливаем новые значения
backup_settings_tab.click_edit_button() backup_settings_tab.click_edit_button()
backup_settings_tab.input_inventory_backup_creation_time("0 0 22 * * 7") backup_settings_tab.input_inventory_backup_creation_time("0 0 22 * * 7")
@ -314,6 +322,9 @@ class TestBackupSettingsTab:
backup_settings_tab.decrease_inventory_backups_number() backup_settings_tab.decrease_inventory_backups_number()
backup_settings_tab.increase_inventory_backups_number() backup_settings_tab.increase_inventory_backups_number()
backup_settings_tab.click_save_button()
# проверка ожидаемых значений
inventory_scheduler_settings = backup_settings_tab.get_inventory_scheduler_settings_values() inventory_scheduler_settings = backup_settings_tab.get_inventory_scheduler_settings_values()
inventory_auto_backup = inventory_scheduler_settings["auto_backup"] inventory_auto_backup = inventory_scheduler_settings["auto_backup"]
inventory_backup_limitation = inventory_scheduler_settings["backup_limitation"] inventory_backup_limitation = inventory_scheduler_settings["backup_limitation"]
@ -324,70 +335,86 @@ class TestBackupSettingsTab:
f"Actual value '{inventory_backup_limitation}' \ f"Actual value '{inventory_backup_limitation}' \
is not equal expected '6' for field 'Количество резервных копий'" is not equal expected '6' for field 'Количество резервных копий'"
# temporarily until fix 1280 # восстановление ранее сохраненных значений
backup_settings_tab.click_cancel_button() backup_settings_tab.click_edit_button()
backup_settings_tab.input_inventory_backup_creation_time(orig_auto_backup)
backup_settings_tab.input_inventory_backups_number(orig_backup_limitation)
backup_settings_tab.click_save_button()
# @pytest.mark.develop @pytest.mark.develop
def test_backup_settings_tab_set_streaming_data_settings(self, browser: Page) -> None: def test_backup_settings_tab_set_streaming_data_settings(self, browser: Page) -> None:
"""Тест проверки возможности изменения значения настроек 'Потоковые данные'.""" """Тест проверки возможности изменения значения настроек 'Потоковые данные'."""
# Инициализация страницы сеансов # Инициализация страницы сеансов
backup_settings_tab = BackupSettingsTab(browser) backup_settings_tab = BackupSettingsTab(browser)
# считываем и запоминаем текущие знчения
orig_streaming_data_settings = backup_settings_tab.get_streaming_data_settings_values()
for name in orig_streaming_data_settings:
val = orig_streaming_data_settings.get(name)
assert val, f"Сouldn't read the value of '{name}' from inventory scheduler settings"
orig_streaming_data_scheduler_settings = backup_settings_tab.get_streaming_data_scheduler_settings_values()
orig_auto_backup = orig_streaming_data_scheduler_settings.get("auto_backup")
assert orig_auto_backup, "Сouldn't read the value of 'auto backup' from streaming data scheduler settings"
# устанавливаем новые значения
backup_settings_tab.click_edit_button() backup_settings_tab.click_edit_button()
backup_settings_tab.input_audit_time_period("3", "месяц") backup_settings_tab.input_audit_time_period("4", "месяц")
backup_settings_tab.increase_audit_time_period() backup_settings_tab.increase_audit_time_period()
backup_settings_tab.decrease_audit_time_period() backup_settings_tab.decrease_audit_time_period()
backup_settings_tab.input_logs_time_period("3", "месяц") backup_settings_tab.input_logs_time_period("4", "месяц")
backup_settings_tab.increase_logs_time_period() backup_settings_tab.increase_logs_time_period()
backup_settings_tab.decrease_logs_time_period() backup_settings_tab.decrease_logs_time_period()
backup_settings_tab.input_metrics_time_period("3", "месяц") backup_settings_tab.input_metrics_time_period("4", "месяц")
backup_settings_tab.increase_metrics_time_period() backup_settings_tab.increase_metrics_time_period()
backup_settings_tab.decrease_metrics_time_period() backup_settings_tab.decrease_metrics_time_period()
backup_settings_tab.input_syslog_time_period("3", "месяц") backup_settings_tab.input_syslog_time_period("4", "месяц")
backup_settings_tab.increase_syslog_time_period() backup_settings_tab.increase_syslog_time_period()
backup_settings_tab.decrease_syslog_time_period() backup_settings_tab.decrease_syslog_time_period()
backup_settings_tab.input_tasks_time_period("3", "месяц") backup_settings_tab.input_tasks_time_period("4", "месяц")
backup_settings_tab.increase_tasks_time_period() backup_settings_tab.increase_tasks_time_period()
backup_settings_tab.decrease_tasks_time_period() backup_settings_tab.decrease_tasks_time_period()
backup_settings_tab.input_streaming_data_backup_creation_time("0 0 22 * * 7") backup_settings_tab.input_streaming_data_backup_creation_time("0 0 22 * * 7")
backup_settings_tab.click_save_button()
# проверка ожидаемых значений
streaming_data_settings = backup_settings_tab.get_streaming_data_settings_values() streaming_data_settings = backup_settings_tab.get_streaming_data_settings_values()
data_limitation_default = streaming_data_settings["data_limitation_default"] data_limitation_default = streaming_data_settings["data_limitation_default"]
assert data_limitation_default == "3", \ assert data_limitation_default == "4", \
f"Actual value '{data_limitation_default}' is not equal expected '3' for category 'Аудит'" f"Actual value '{data_limitation_default}' is not equal expected '4' for category 'Аудит'"
interval_limitation_default = streaming_data_settings["interval_limitation_default"] interval_limitation_default = streaming_data_settings["interval_limitation_default"]
assert interval_limitation_default == "месяц", \ assert interval_limitation_default == "МЕСЯЦ", \
f"Actual value '{interval_limitation_default}' is not equal expected 'месяц' for category 'Аудит'" f"Actual value '{interval_limitation_default}' is not equal expected 'месяц' for category 'Аудит'"
data_limitation_logs = streaming_data_settings["data_limitation_logs"] data_limitation_logs = streaming_data_settings["data_limitation_logs"]
assert data_limitation_logs == "3", \ assert data_limitation_logs == "4", \
f"Actual value '{data_limitation_logs}' is not equal expected '3' for category 'Логи'" f"Actual value '{data_limitation_logs}' is not equal expected '4' for category 'Логи'"
interval_limitation_logs = streaming_data_settings["interval_limitation_logs"] interval_limitation_logs = streaming_data_settings["interval_limitation_logs"]
assert interval_limitation_logs == "месяц", \ assert interval_limitation_logs == "МЕСЯЦ", \
f"Actual value '{interval_limitation_logs}' is not equal expected 'месяц' for category 'Логи'" f"Actual value '{interval_limitation_logs}' is not equal expected 'месяц' for category 'Логи'"
data_limitation_metrics = streaming_data_settings["data_limitation_metrics"] data_limitation_metrics = streaming_data_settings["data_limitation_metrics"]
assert data_limitation_metrics == "3", \ assert data_limitation_metrics == "4", \
f"Actual value '{data_limitation_metrics}' is not equal expected '3' for category 'Метрики'" f"Actual value '{data_limitation_metrics}' is not equal expected '4' for category 'Метрики'"
interval_limitation_metrics = streaming_data_settings["interval_limitation_metrics"] interval_limitation_metrics = streaming_data_settings["interval_limitation_metrics"]
assert interval_limitation_metrics == "месяц", \ assert interval_limitation_metrics == "МЕСЯЦ", \
f"Actual value '{interval_limitation_metrics}' is not equal expected 'месяц' for category 'Метрики'" f"Actual value '{interval_limitation_metrics}' is not equal expected 'месяц' for category 'Метрики'"
data_limitation_syslog = streaming_data_settings["data_limitation_syslog"] data_limitation_syslog = streaming_data_settings["data_limitation_syslog"]
assert data_limitation_syslog == "3", \ assert data_limitation_syslog == "4", \
f"Actual value '{data_limitation_syslog}' is not equal expected '3' for category 'Системный лог'" f"Actual value '{data_limitation_syslog}' is not equal expected '4' for category 'Системный лог'"
interval_limitation_syslog = streaming_data_settings["interval_limitation_syslog"] interval_limitation_syslog = streaming_data_settings["interval_limitation_syslog"]
assert interval_limitation_syslog == "месяц", \ assert interval_limitation_syslog == "МЕСЯЦ", \
f"Actual value '{interval_limitation_syslog}' is not equal expected 'месяц' for category 'Системный лог'" f"Actual value '{interval_limitation_syslog}' is not equal expected 'месяц' for category 'Системный лог'"
data_limitation_tasks = streaming_data_settings["data_limitation_tasks"] data_limitation_tasks = streaming_data_settings["data_limitation_tasks"]
assert data_limitation_tasks == "3", \ assert data_limitation_tasks == "4", \
f"Actual value '{data_limitation_tasks}' is not equal expected '3' for category 'Действия'" f"Actual value '{data_limitation_tasks}' is not equal expected '4' for category 'Действия'"
interval_limitation_tasks = streaming_data_settings["interval_limitation_tasks"] interval_limitation_tasks = streaming_data_settings["interval_limitation_tasks"]
assert interval_limitation_tasks == "месяц", \ assert interval_limitation_tasks == "МЕСЯЦ", \
f"Actual value '{interval_limitation_tasks}' is not equal expected 'месяц' for category 'Действия'" f"Actual value '{interval_limitation_tasks}' is not equal expected 'месяц' for category 'Действия'"
streaming_data_scheduler_settings = backup_settings_tab.get_streaming_data_scheduler_settings_values() streaming_data_scheduler_settings = backup_settings_tab.get_streaming_data_scheduler_settings_values()
@ -396,8 +423,27 @@ class TestBackupSettingsTab:
f"Actual value '{streaming_data_auto_backup}' \ f"Actual value '{streaming_data_auto_backup}' \
is not equal expected '0 0 22 * * 7' for field 'Потоковые данные Время создания резервной копии'" is not equal expected '0 0 22 * * 7' for field 'Потоковые данные Время создания резервной копии'"
# temporarily until fix 1280 # восстановление ранее сохраненных значений
backup_settings_tab.click_cancel_button() backup_settings_tab.click_edit_button()
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.input_audit_time_period(orig_streaming_data_settings["data_limitation_default"],
orig_streaming_data_settings["interval_limitation_default"])
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.input_logs_time_period(orig_streaming_data_settings["data_limitation_logs"],
orig_streaming_data_settings["interval_limitation_logs"])
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.input_metrics_time_period(orig_streaming_data_settings["data_limitation_metrics"],
orig_streaming_data_settings["interval_limitation_metrics"])
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.input_syslog_time_period(orig_streaming_data_settings["data_limitation_syslog"],
orig_streaming_data_settings["interval_limitation_syslog"])
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.input_tasks_time_period(orig_streaming_data_settings["data_limitation_tasks"],
orig_streaming_data_settings["interval_limitation_tasks"])
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.input_streaming_data_backup_creation_time(orig_auto_backup)
backup_settings_tab.wait_for_timeout(1000)
backup_settings_tab.click_save_button()
# @pytest.mark.develop # @pytest.mark.develop
@pytest.mark.skip(reason="Временно пока работает неправильно") @pytest.mark.skip(reason="Временно пока работает неправильно")