58 lines
2.5 KiB
Python
58 lines
2.5 KiB
Python
from pages.login_page import LoginPage
|
||
from pages.main_page import MainPage
|
||
|
||
|
||
# Запуск с viewport: {'width': 300, 'height': 420}
|
||
|
||
# @pytest.mark.smoke
|
||
class TestNavigationPanel:
|
||
"""Класс тестов для проверки панели навигации.
|
||
|
||
Атрибуты:
|
||
browser: фикстура для работы с браузером
|
||
"""
|
||
|
||
def test_verticall_scrolling(self, browser):
|
||
"""Тест вертикальной прокрутки панели навигации.
|
||
|
||
Аргументы:
|
||
browser: фикстура для работы с браузером
|
||
|
||
Возвращает:
|
||
None
|
||
|
||
Исключения:
|
||
AssertionError: если панель навигации не поддерживает вертикальную прокрутку
|
||
"""
|
||
# Действия:
|
||
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("Уведомления")
|
||
mp.click_configuration_navigation_panel_item("Обслуживание и диагностика")
|
||
mp.click_configuration_navigation_panel_item("Zero Touch Provisioning")
|
||
|
||
# Проверяем возможность вертикальной прокрутки
|
||
is_scrollable = mp.check_navigation_panel_verticall_scrolling()
|
||
assert is_scrollable, "Should be vertical scrolling"
|
||
|
||
# Действия:
|
||
# Прокручиваем вверх и проверяем видимость элемента
|
||
mp.scroll_navigation_panel_up()
|
||
mp.check_navigation_panel_item_visibility("Панель приборов")
|
||
mp.wait_for_timeout(3000)
|
||
|
||
# Прокручиваем вниз и проверяем видимость элемента
|
||
mp.scroll_navigation_panel_down()
|
||
mp.check_navigation_panel_item_visibility("Шаблоны")
|
||
mp.wait_for_timeout(2000) |