72 lines
3.4 KiB
Python
72 lines
3.4 KiB
Python
"""Модуль тестов вкладки 'Сеансы/Настройки'.
|
||
|
||
Содержит тесты для проверки корректности отображения
|
||
и функциональности элементов вкладки настройки времени жизни сеансов.
|
||
"""
|
||
|
||
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}")
|