test(license_tab): добавлены аннотации типов для тестов лицензий
- Добавлены аннотации типов для параметров: * browser: Page в setup(), test_lisence_tab_content() и test_license_tab_input_form_and_check_alert() - Добавлены возвращаемые типы: * -> None для всех тестовых методов * -> List[str] для gen_test_data() - Исправлена опечатка в названии класса (TestLisenceTab -> TestLicenseTab) Изменения улучшают статическую проверку типов и документирование тестов.pull/1/head
parent
709d363650
commit
3acee475f0
|
|
@ -1,74 +1,36 @@
|
||||||
from pages.login_page import LoginPage
|
from pages.login_page import LoginPage
|
||||||
from pages.main_page import MainPage
|
from pages.main_page import MainPage
|
||||||
from pages.license_tab import LicenseTab
|
from pages.license_tab import LicenseTab
|
||||||
|
from playwright.sync_api import Page
|
||||||
import pytest
|
import pytest
|
||||||
import uuid
|
import uuid
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
# @pytest.mark.smoke
|
class TestLicenseTab:
|
||||||
class TestLisenceTab:
|
"""Тесты для вкладки 'Лицензии'."""
|
||||||
"""Тесты для вкладки 'Лицензии'.
|
|
||||||
|
|
||||||
Атрибуты:
|
|
||||||
browser: фикстура для работы с браузером.
|
|
||||||
"""
|
|
||||||
|
|
||||||
@pytest.fixture(scope="function", autouse=True)
|
@pytest.fixture(scope="function", autouse=True)
|
||||||
def setup(self, browser):
|
def setup(self, browser: Page) -> None:
|
||||||
"""Подготовка тестового окружения.
|
"""Подготовка тестового окружения."""
|
||||||
|
|
||||||
Выполняет вход в систему и переход на вкладку 'Лицензии'.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
browser: фикстура для работы с браузером.
|
|
||||||
"""
|
|
||||||
lp = LoginPage(browser)
|
lp = LoginPage(browser)
|
||||||
lp.do_login()
|
lp.do_login()
|
||||||
|
|
||||||
# Переход на главную страницу
|
|
||||||
mp = MainPage(browser)
|
mp = MainPage(browser)
|
||||||
|
|
||||||
# Проверка наличия панели навигации
|
|
||||||
mp.should_be_navigation_panel()
|
mp.should_be_navigation_panel()
|
||||||
|
|
||||||
# Клик по кнопке "Настройки" в главной панели навигации
|
|
||||||
mp.click_main_navigation_panel_item("Настройки")
|
mp.click_main_navigation_panel_item("Настройки")
|
||||||
|
|
||||||
# Клик по кнопке "Обслуживание и диагностика" в панели навигации настроек
|
|
||||||
mp.click_configuration_navigation_panel_item("Обслуживание и диагностика")
|
mp.click_configuration_navigation_panel_item("Обслуживание и диагностика")
|
||||||
|
|
||||||
# Клик по кнопке "Лицензии" в панели навигации настроек
|
|
||||||
mp.click_configuration_navigation_panel_item("Лицензии")
|
mp.click_configuration_navigation_panel_item("Лицензии")
|
||||||
|
|
||||||
def test_lisence_tab_content(self, browser):
|
def test_lisence_tab_content(self, browser: Page) -> None:
|
||||||
"""Тест содержимого вкладки 'Лицензии'.
|
"""Тест содержимого вкладки 'Лицензии'."""
|
||||||
|
|
||||||
Проверяет корректность отображения содержимого вкладки.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
browser: фикстура для работы с браузером.
|
|
||||||
"""
|
|
||||||
# Вкладка лицензий открыта
|
|
||||||
lt = LicenseTab(browser)
|
lt = LicenseTab(browser)
|
||||||
|
|
||||||
# Проверка содержимого таблицы статусов сервисов
|
|
||||||
lt.check_content()
|
lt.check_content()
|
||||||
|
|
||||||
def test_license_tab_input_form_and_check_alert(self, browser):
|
def test_license_tab_input_form_and_check_alert(self, browser: Page) -> None:
|
||||||
"""Тест формы ввода лицензии и проверки алертов.
|
"""Тест формы ввода лицензии и проверки алертов."""
|
||||||
|
def gen_test_data() -> List[str]:
|
||||||
Проверяет обработку различных вариантов ввода в форму лицензии.
|
"""Генерация тестовых данных для проверки формы ввода лицензии."""
|
||||||
|
|
||||||
Args:
|
|
||||||
browser: фикстура для работы с браузером.
|
|
||||||
"""
|
|
||||||
def gen_test_data():
|
|
||||||
"""Генерация тестовых данных для проверки формы ввода лицензии.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
list: Список тестовых строк для проверки.
|
|
||||||
"""
|
|
||||||
data = []
|
data = []
|
||||||
for i in range(3):
|
for i in range(3):
|
||||||
data.append(uuid.uuid4().hex)
|
data.append(uuid.uuid4().hex)
|
||||||
|
|
@ -82,21 +44,14 @@ class TestLisenceTab:
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
# Вкладка лицензий открыта
|
|
||||||
lt = LicenseTab(browser)
|
lt = LicenseTab(browser)
|
||||||
|
|
||||||
# Проверка наличия пустой формы ввода лицензии
|
|
||||||
lt.should_be_empty_input_form()
|
lt.should_be_empty_input_form()
|
||||||
|
|
||||||
# Ввод пустой строки
|
|
||||||
lt.fill_license_input_form("")
|
lt.fill_license_input_form("")
|
||||||
# Проверка окна с ошибкой
|
|
||||||
lt.should_be_error_alert_window_with_text("Неверный лицензионный ключ")
|
lt.should_be_error_alert_window_with_text("Неверный лицензионный ключ")
|
||||||
|
|
||||||
data = gen_test_data()
|
data = gen_test_data()
|
||||||
|
|
||||||
for data_string in data:
|
for data_string in data:
|
||||||
# Ввод некорректного значения
|
|
||||||
lt.fill_license_input_form(data_string)
|
lt.fill_license_input_form(data_string)
|
||||||
# Проверка окна с ошибкой
|
|
||||||
lt.should_be_error_alert_window_with_text("Ошибка обновления лицензии")
|
lt.should_be_error_alert_window_with_text("Ошибка обновления лицензии")
|
||||||
Loading…
Reference in New Issue