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("Ошибка обновления лицензии")