e-nms_qa_automation/tests/components/test_services_table.py

83 lines
3.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from pages.login_page import LoginPage
from pages.main_page import MainPage
from pages.service_status_tab import ServiceStatusTab
import pytest
class TestServiceStatusTable:
"""Тесты для проверки таблицы статусов сервисов.
Содержит тесты для проверки:
- Отображения таблицы статусов сервисов
- Содержимого таблицы
- Возможности вертикальной прокрутки
"""
# @pytest.mark.smoke
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser):
"""Фикстура для настройки тестового окружения.
Выполняет:
1. Авторизацию в системе
2. Переход на главную страницу
3. Проверку видимости панели навигации
4. Переход на вкладку 'Статус обслуживания'
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_maintenance_navigation_panel_item("Статус обслуживания")
def test_scrolling(self, browser):
"""Тест проверки прокрутки таблицы статусов сервисов.
Проверяет:
1. Наличие таблицы статусов сервисов
2. Содержимое таблицы
3. Возможность вертикальной прокрутки
4. Видимость строк после прокрутки
Args:
browser: Фикстура браузера
"""
# Инициализация страницы с таблицей статусов сервисов
sst = ServiceStatusTab(browser)
# Проверка наличия таблицы
sst.should_be_services_table()
# Проверка содержимого таблицы
sst.check_services_table_content()
# Проверка возможности вертикальной прокрутки
is_scrollable_vertically = sst.check_services_table_verticall_scrolling()
assert is_scrollable_vertically, "Should be verticall scrolling"
# Прокрутка вниз и проверка видимости последней строки
sst.scroll_services_table_down()
sst.check_services_table_last_row_visibility()
sst.wait_for_timeout(3000)
# Прокрутка вверх и проверка видимости первой строки
sst.scroll_services_table_up()
sst.check_services_table_first_row_visibility()
sst.wait_for_timeout(2000)