102 lines
4.2 KiB
Python
102 lines
4.2 KiB
Python
from pages.login_page import LoginPage
|
||
from pages.main_page import MainPage
|
||
from pages.license_tab import LicenseTab
|
||
|
||
import pytest
|
||
import uuid
|
||
|
||
|
||
# @pytest.mark.smoke
|
||
class TestLisenceTab:
|
||
"""Тесты для вкладки 'Лицензии'.
|
||
|
||
Атрибуты:
|
||
browser: фикстура для работы с браузером.
|
||
"""
|
||
|
||
@pytest.fixture(scope="function", autouse=True)
|
||
def setup(self, browser):
|
||
"""Подготовка тестового окружения.
|
||
|
||
Выполняет вход в систему и переход на вкладку 'Лицензии'.
|
||
|
||
Args:
|
||
browser: фикстура для работы с браузером.
|
||
"""
|
||
lp = LoginPage(browser)
|
||
lp.do_login()
|
||
|
||
# Переход на главную страницу
|
||
mp = MainPage(browser)
|
||
|
||
# Проверка наличия панели навигации
|
||
mp.should_be_navigation_panel()
|
||
|
||
# Клик по кнопке "Настройки" в главной панели навигации
|
||
mp.click_main_navigation_panel_item("Настройки")
|
||
|
||
# Клик по кнопке "Обслуживание и диагностика" в панели навигации настроек
|
||
mp.click_configuration_navigation_panel_item("Обслуживание и диагностика")
|
||
|
||
# Клик по кнопке "Лицензии" в панели навигации настроек
|
||
mp.click_configuration_navigation_panel_item("Лицензии")
|
||
|
||
def test_lisence_tab_content(self, browser):
|
||
"""Тест содержимого вкладки 'Лицензии'.
|
||
|
||
Проверяет корректность отображения содержимого вкладки.
|
||
|
||
Args:
|
||
browser: фикстура для работы с браузером.
|
||
"""
|
||
# Вкладка лицензий открыта
|
||
lt = LicenseTab(browser)
|
||
|
||
# Проверка содержимого таблицы статусов сервисов
|
||
lt.check_content()
|
||
|
||
def test_license_tab_input_form_and_check_alert(self, browser):
|
||
"""Тест формы ввода лицензии и проверки алертов.
|
||
|
||
Проверяет обработку различных вариантов ввода в форму лицензии.
|
||
|
||
Args:
|
||
browser: фикстура для работы с браузером.
|
||
"""
|
||
def gen_test_data():
|
||
"""Генерация тестовых данных для проверки формы ввода лицензии.
|
||
|
||
Returns:
|
||
list: Список тестовых строк для проверки.
|
||
"""
|
||
data = []
|
||
for i in range(3):
|
||
data.append(uuid.uuid4().hex)
|
||
|
||
lowercase_str = uuid.uuid4().hex
|
||
data.append(lowercase_str.upper())
|
||
data.append(lowercase_str + "fffffffff")
|
||
data.append("0")
|
||
data.append("000000000000000000000000000000000000000000000000")
|
||
data.append("-1")
|
||
|
||
return data
|
||
|
||
# Вкладка лицензий открыта
|
||
lt = LicenseTab(browser)
|
||
|
||
# Проверка наличия пустой формы ввода лицензии
|
||
lt.should_be_empty_input_form()
|
||
|
||
# Ввод пустой строки
|
||
lt.fill_license_input_form("")
|
||
# Проверка окна с ошибкой
|
||
lt.should_be_error_alert_window_with_text("Неверный лицензионный ключ")
|
||
|
||
data = gen_test_data()
|
||
|
||
for data_string in data:
|
||
# Ввод некорректного значения
|
||
lt.fill_license_input_form(data_string)
|
||
# Проверка окна с ошибкой
|
||
lt.should_be_error_alert_window_with_text("Ошибка обновления лицензии") |