80 lines
3.4 KiB
Python
80 lines
3.4 KiB
Python
from pages.login_page import LoginPage
|
||
from pages.main_page import MainPage
|
||
from pages.service_status_tab import ServiceStatusTab
|
||
import pytest
|
||
|
||
|
||
class TestServiceStatusTab:
|
||
"""Набор тестов для вкладки 'Статус обслуживания'.
|
||
|
||
Проверяет корректность отображения и функциональность элементов вкладки.
|
||
"""
|
||
|
||
@pytest.fixture(scope="function", autouse=True)
|
||
def setup(self, browser):
|
||
"""Фикстура для подготовки тестового окружения.
|
||
|
||
Выполняет:
|
||
1. Авторизацию в системе
|
||
2. Переход на вкладку 'Статус обслуживания'
|
||
"""
|
||
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_maintenance_navigation_panel_item("Статус обслуживания")
|
||
|
||
def test_service_status_tab_content(self, browser):
|
||
"""Тест содержимого вкладки 'Статус обслуживания'.
|
||
|
||
Проверяет:
|
||
1. Наличие тулбара
|
||
2. Наличие таблицы сервисов
|
||
3. Корректность содержимого таблицы
|
||
"""
|
||
sst = ServiceStatusTab(browser)
|
||
|
||
# Проверка тулбара вкладки
|
||
sst.should_be_toolbar()
|
||
|
||
# Проверка наличия таблицы статусов сервисов
|
||
sst.should_be_services_table()
|
||
|
||
# Проверка содержимого таблицы сервисов
|
||
sst.check_services_table_content()
|
||
|
||
def test_service_status_table_row_highlighting(self, browser):
|
||
"""Тест выделения строк в таблице сервисов.
|
||
|
||
Проверяет выделение строк:
|
||
1. Первой строки
|
||
2. Последней строки
|
||
3. Строки в середине таблицы
|
||
"""
|
||
sst = ServiceStatusTab(browser)
|
||
|
||
# Проверка тулбара вкладки
|
||
sst.should_be_toolbar()
|
||
|
||
# Проверка наличия таблицы статусов сервисов
|
||
sst.should_be_services_table()
|
||
|
||
# Получение количества строк в таблице
|
||
rows_count = sst.get_rows_count()
|
||
|
||
# Проверка выделения строк
|
||
sst.check_services_table_row_highlighting(0)
|
||
sst.check_services_table_row_highlighting(rows_count - 1)
|
||
sst.check_services_table_row_highlighting(int(rows_count / 2)) |