test(user_modal): добавлены аннотации типов для тестов модальных окон
- Добавлены аннотации типов для параметров: * browser: Page в setup(), test_edit_user_window_scrolling() и test_add_user_window_scrolling() - Добавлены возвращаемые типы: * -> None для всех тестовых методов Изменения улучшают статическую проверку типов и документирование тестов.
parent
62c7f87466
commit
f057a9dfa8
|
|
@ -1,133 +1,70 @@
|
||||||
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.users_tab import UsersTab
|
from pages.users_tab import UsersTab
|
||||||
|
from playwright.sync_api import Page
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
class TestUsersModalWindow:
|
class TestUsersModalWindow:
|
||||||
"""Тесты для проверки модальных окон работы с пользователями.
|
"""Тесты для проверки модальных окон работы с пользователями."""
|
||||||
|
|
||||||
Содержит тесты для проверки:
|
|
||||||
- Прокрутки модальных окон (вертикальной и горизонтальной)
|
|
||||||
- Видимости элементов после прокрутки
|
|
||||||
- Функциональности окон редактирования и добавления пользователей
|
|
||||||
"""
|
|
||||||
|
|
||||||
# @pytest.mark.smoke
|
|
||||||
@pytest.fixture(scope="function", autouse=True)
|
@pytest.fixture(scope="function", autouse=True)
|
||||||
def setup(self, browser):
|
def setup(self, browser: Page) -> None:
|
||||||
"""Фикстура для настройки тестового окружения.
|
"""Фикстура для настройки тестового окружения."""
|
||||||
|
|
||||||
Выполняет:
|
|
||||||
1. Авторизацию в системе
|
|
||||||
2. Переход на главную страницу
|
|
||||||
3. Проверку видимости панели навигации
|
|
||||||
4. Переход на вкладку 'Пользователи'
|
|
||||||
|
|
||||||
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("Пользователи")
|
||||||
|
|
||||||
@pytest.mark.develop
|
@pytest.mark.develop
|
||||||
def test_edit_user_window_scrolling(self, browser):
|
def test_edit_user_window_scrolling(self, browser: Page) -> None:
|
||||||
"""Тест проверки прокрутки окна редактирования пользователя.
|
"""Тест проверки прокрутки окна редактирования пользователя."""
|
||||||
|
|
||||||
Проверяет:
|
|
||||||
1. Возможность вертикальной и горизонтальной прокрутки
|
|
||||||
2. Видимость кнопок после прокрутки
|
|
||||||
3. Корректность работы прокрутки в разных направлениях
|
|
||||||
|
|
||||||
Args:
|
|
||||||
browser: Фикстура браузера
|
|
||||||
"""
|
|
||||||
# Инициализация страницы работы с пользователями
|
|
||||||
ut = UsersTab(browser)
|
ut = UsersTab(browser)
|
||||||
|
|
||||||
# Открытие окна редактирования пользователя
|
|
||||||
user_name, role = ut.open_edit_user_page_by_index(0)
|
user_name, role = ut.open_edit_user_page_by_index(0)
|
||||||
|
|
||||||
# Получение модального окна
|
|
||||||
modal_window = ut.get_modal_window(user_name)
|
modal_window = ut.get_modal_window(user_name)
|
||||||
|
|
||||||
# Проверка вертикальной прокрутки
|
|
||||||
is_scrollable_vertically = modal_window.check_window_vertical_scrolling()
|
is_scrollable_vertically = modal_window.check_window_vertical_scrolling()
|
||||||
assert is_scrollable_vertically, "Should be vertical scrolling"
|
assert is_scrollable_vertically, "Should be vertical scrolling"
|
||||||
|
|
||||||
# Прокрутка вниз и проверка кнопки "close"
|
|
||||||
modal_window.scroll_window_down()
|
modal_window.scroll_window_down()
|
||||||
modal_window.check_button_presence("close")
|
modal_window.check_button_presence("close")
|
||||||
ut.wait_for_timeout(3000)
|
ut.wait_for_timeout(3000)
|
||||||
|
|
||||||
# Прокрутка вверх и проверка кнопки "close" в тулбаре
|
|
||||||
modal_window.scroll_window_up()
|
modal_window.scroll_window_up()
|
||||||
modal_window.check_toolbar_button_presence("close")
|
modal_window.check_toolbar_button_presence("close")
|
||||||
ut.wait_for_timeout(3000)
|
ut.wait_for_timeout(3000)
|
||||||
|
|
||||||
# Проверка горизонтальной прокрутки
|
|
||||||
is_scrollable_horizontally = modal_window.check_window_horizontal_scrolling()
|
is_scrollable_horizontally = modal_window.check_window_horizontal_scrolling()
|
||||||
assert is_scrollable_horizontally, "Should be horizontal scrolling"
|
assert is_scrollable_horizontally, "Should be horizontal scrolling"
|
||||||
|
|
||||||
# Прокрутка вправо и влево
|
|
||||||
modal_window.scroll_window_right()
|
modal_window.scroll_window_right()
|
||||||
ut.wait_for_timeout(3000)
|
ut.wait_for_timeout(3000)
|
||||||
modal_window.scroll_window_left()
|
modal_window.scroll_window_left()
|
||||||
ut.wait_for_timeout(2000)
|
ut.wait_for_timeout(2000)
|
||||||
|
|
||||||
def test_add_user_window_scrolling(self, browser):
|
def test_add_user_window_scrolling(self, browser: Page) -> None:
|
||||||
"""Тест проверки прокрутки окна добавления пользователя.
|
"""Тест проверки прокрутки окна добавления пользователя."""
|
||||||
|
|
||||||
Проверяет:
|
|
||||||
1. Возможность вертикальной и горизонтальной прокрутки
|
|
||||||
2. Видимость кнопок после прокрутки
|
|
||||||
3. Корректность работы прокрутки в разных направлениях
|
|
||||||
|
|
||||||
Args:
|
|
||||||
browser: Фикстура браузера
|
|
||||||
"""
|
|
||||||
# Инициализация страницы работы с пользователями
|
|
||||||
ut = UsersTab(browser)
|
ut = UsersTab(browser)
|
||||||
|
|
||||||
# Открытие окна добавления пользователя
|
|
||||||
ut.open_add_user_window()
|
ut.open_add_user_window()
|
||||||
|
|
||||||
# Получение модального окна
|
|
||||||
modal_window = ut.get_modal_window("add_user")
|
modal_window = ut.get_modal_window("add_user")
|
||||||
|
|
||||||
# Проверка вертикальной прокрутки
|
|
||||||
is_scrollable_vertically = modal_window.check_window_vertical_scrolling()
|
is_scrollable_vertically = modal_window.check_window_vertical_scrolling()
|
||||||
assert is_scrollable_vertically, "Should be vertical scrolling"
|
assert is_scrollable_vertically, "Should be vertical scrolling"
|
||||||
|
|
||||||
# Прокрутка вниз и проверка кнопки "close"
|
|
||||||
modal_window.scroll_window_down()
|
modal_window.scroll_window_down()
|
||||||
modal_window.check_button_presence("close")
|
modal_window.check_button_presence("close")
|
||||||
ut.wait_for_timeout(3000)
|
ut.wait_for_timeout(3000)
|
||||||
|
|
||||||
# Прокрутка вверх и проверка кнопки "close" в тулбаре
|
|
||||||
modal_window.scroll_window_up()
|
modal_window.scroll_window_up()
|
||||||
modal_window.check_toolbar_button_presence("close")
|
modal_window.check_toolbar_button_presence("close")
|
||||||
ut.wait_for_timeout(3000)
|
ut.wait_for_timeout(3000)
|
||||||
|
|
||||||
# Проверка горизонтальной прокрутки
|
|
||||||
is_scrollable_horizontally = modal_window.check_window_horizontal_scrolling()
|
is_scrollable_horizontally = modal_window.check_window_horizontal_scrolling()
|
||||||
assert is_scrollable_horizontally, "Should be horizontal scrolling"
|
assert is_scrollable_horizontally, "Should be horizontal scrolling"
|
||||||
|
|
||||||
# Прокрутка вправо и влево
|
|
||||||
modal_window.scroll_window_right()
|
modal_window.scroll_window_right()
|
||||||
ut.wait_for_timeout(3000)
|
ut.wait_for_timeout(3000)
|
||||||
modal_window.scroll_window_left()
|
modal_window.scroll_window_left()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue