e-nms_qa_automation/tests/e2e/sessions/test_session_settings_tab.py

72 lines
3.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"""Модуль тестов вкладки 'Сеансы/Настройки'.
Содержит тесты для проверки корректности отображения
и функциональности элементов вкладки настройки времени жизни сеансов.
"""
import pytest
from playwright.sync_api import Page
from pages.login_page import LoginPage
from pages.main_page import MainPage
from pages.session_settings_tab import SessionSettingsTab
# @pytest.mark.smoke
class TestSessionSettingsTab:
"""Набор тестов для вкладки 'Сеансы/Настройки'.
Проверяет корректность отображения и функциональность элементов вкладки настройки времени жизни сеансов.
Тесты покрывают следующие сценарии:
1. test_session_settings_tab_content: Тест содержимого вкладки 'Сеансы/Настройки'
"""
@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_sessions_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}")