Skip to content

TestServiceStatusTable

Модуль тестов таблицы статусов сервисов.

Содержит тесты для проверки функциональности и прокрутки таблицы статусов сервисов на вкладке обслуживания.

TestServiceStatusTable

Класс тестов для проверки таблицы статусов сервисов.

Source code in tests\components\test_services_table.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class TestServiceStatusTable:
    """Класс тестов для проверки таблицы статусов сервисов."""

    @pytest.fixture(scope="function", autouse=True)
    def setup(self, browser: Page) -> None:
        """Настраивает тестовое окружение перед каждым тестом.

        Args:
            browser: Экземпляр страницы Playwright.
        """

        lp = LoginPage(browser)
        lp.do_login()

        mp = MainPage(browser)
        mp.should_be_navigation_panel()
        mp.click_main_navigation_panel_item("Настройки")
        mp.click_subpanel_item("Обслуживание и диагностика")
        mp.click_subpanel_item("Статус обслуживания")

    def test_scrolling(self, browser: Page) -> None:
        """Проверяет прокрутку таблицы статусов сервисов.

        Args:
            browser: Экземпляр страницы Playwright.

        Steps:
            1. Проверяет наличие и содержимое таблицы
            2. Проверяет возможность вертикальной прокрутки
            3. Прокручивает вниз и проверяет видимость последней строки
            4. Прокручивает вверх и проверяет видимость первой строки
        """

        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 vertical 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)

setup(browser)

Настраивает тестовое окружение перед каждым тестом.

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright.

required
Source code in tests\components\test_services_table.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@pytest.fixture(scope="function", autouse=True)
def setup(self, browser: Page) -> None:
    """Настраивает тестовое окружение перед каждым тестом.

    Args:
        browser: Экземпляр страницы Playwright.
    """

    lp = LoginPage(browser)
    lp.do_login()

    mp = MainPage(browser)
    mp.should_be_navigation_panel()
    mp.click_main_navigation_panel_item("Настройки")
    mp.click_subpanel_item("Обслуживание и диагностика")
    mp.click_subpanel_item("Статус обслуживания")

test_scrolling(browser)

Проверяет прокрутку таблицы статусов сервисов.

Parameters:

Name Type Description Default
browser Page

Экземпляр страницы Playwright.

required
Steps
  1. Проверяет наличие и содержимое таблицы
  2. Проверяет возможность вертикальной прокрутки
  3. Прокручивает вниз и проверяет видимость последней строки
  4. Прокручивает вверх и проверяет видимость первой строки
Source code in tests\components\test_services_table.py
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
def test_scrolling(self, browser: Page) -> None:
    """Проверяет прокрутку таблицы статусов сервисов.

    Args:
        browser: Экземпляр страницы Playwright.

    Steps:
        1. Проверяет наличие и содержимое таблицы
        2. Проверяет возможность вертикальной прокрутки
        3. Прокручивает вниз и проверяет видимость последней строки
        4. Прокручивает вверх и проверяет видимость первой строки
    """

    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 vertical 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)