Skip to content

ConfirmComponent

ConfirmComponent

Bases: BaseComponent

Компонент окна подтверждения действий.

Предоставляет методы для взаимодействия с диалоговыми окнами подтверждения, содержащими кнопки отмены и подтверждения действия.

Атрибуты

page: экземпляр страницы Playwright title: текстовый элемент заголовка окна text: текстовый элемент основного сообщения close_button: кнопка закрытия окна cancel_button: кнопка отмены действия allow_button: кнопка подтверждения действия

Source code in components\confirm_component.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
class ConfirmComponent(BaseComponent):
    """Компонент окна подтверждения действий.

    Предоставляет методы для взаимодействия с диалоговыми окнами подтверждения,
    содержащими кнопки отмены и подтверждения действия.

    Атрибуты:
        page: экземпляр страницы Playwright
        title: текстовый элемент заголовка окна
        text: текстовый элемент основного сообщения
        close_button: кнопка закрытия окна
        cancel_button: кнопка отмены действия
        allow_button: кнопка подтверждения действия
    """

    def __init__(self, page: Page, cancel_button_text: str, allow_button_text: str):
        """Инициализация компонента окна подтверждения.

        Args:
            page: экземпляр страницы Playwright
            cancel_button_text: текст на кнопке отмены
            allow_button_text: текст на кнопке подтверждения
        """
        super().__init__(page)

        self.title = Text(page, ConfirmLocators.TITLE, "confirm title")
        self.text = Text(page, ConfirmLocators.TEXT, "confirm text")

        self.close_button = Button(page, ConfirmLocators.BUTTON_CLOSE, "confirm close button")
        self.cancel_button = Button(
            page, 
            page.get_by_role("button", name=cancel_button_text).first, 
            "confirm cancel button"
        )
        self.allow_button = Button(
            page, 
            page.get_by_role("button", name=allow_button_text).first, 
            "confirm allow button"
        )

    # Действия:
    def click_allow_button(self):
        """Нажатие кнопки подтверждения действия.

        Выполняет клик по кнопке с текстом, переданным в allow_button_text.
        """
        self.allow_button.click()

    def click_cancel_button(self):
        """Нажатие кнопки отмены действия.

        Выполняет клик по кнопке с текстом, переданным в cancel_button_text.
        """
        self.cancel_button.click()

    def click_close_button(self):
        """Нажатие кнопки закрытия окна подтверждения."""
        self.close_button.click()

    # Проверки:
    def check_title(self, title, msg):
        """Проверка текста заголовка окна подтверждения.

        Args:
            title: ожидаемый текст заголовка
            msg: сообщение об ошибке при несоответствии

        Raises:
            AssertionError: если текст заголовка не соответствует ожидаемому
        """
        self.title.check_have_text(title, msg)

    def check_text(self, text, msg):
        """Проверка текста сообщения в окне подтверждения.

        Args:
            text: ожидаемый текст сообщения
            msg: сообщение об ошибке при несоответствии

        Raises:
            AssertionError: если текст сообщения не соответствует ожидаемому
        """
        self.text.check_have_text(text, msg)

__init__(page, cancel_button_text, allow_button_text)

Инициализация компонента окна подтверждения.

Parameters:

Name Type Description Default
page Page

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

required
cancel_button_text str

текст на кнопке отмены

required
allow_button_text str

текст на кнопке подтверждения

required
Source code in components\confirm_component.py
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
def __init__(self, page: Page, cancel_button_text: str, allow_button_text: str):
    """Инициализация компонента окна подтверждения.

    Args:
        page: экземпляр страницы Playwright
        cancel_button_text: текст на кнопке отмены
        allow_button_text: текст на кнопке подтверждения
    """
    super().__init__(page)

    self.title = Text(page, ConfirmLocators.TITLE, "confirm title")
    self.text = Text(page, ConfirmLocators.TEXT, "confirm text")

    self.close_button = Button(page, ConfirmLocators.BUTTON_CLOSE, "confirm close button")
    self.cancel_button = Button(
        page, 
        page.get_by_role("button", name=cancel_button_text).first, 
        "confirm cancel button"
    )
    self.allow_button = Button(
        page, 
        page.get_by_role("button", name=allow_button_text).first, 
        "confirm allow button"
    )

check_text(text, msg)

Проверка текста сообщения в окне подтверждения.

Parameters:

Name Type Description Default
text

ожидаемый текст сообщения

required
msg

сообщение об ошибке при несоответствии

required

Raises:

Type Description
AssertionError

если текст сообщения не соответствует ожидаемому

Source code in components\confirm_component.py
85
86
87
88
89
90
91
92
93
94
95
def check_text(self, text, msg):
    """Проверка текста сообщения в окне подтверждения.

    Args:
        text: ожидаемый текст сообщения
        msg: сообщение об ошибке при несоответствии

    Raises:
        AssertionError: если текст сообщения не соответствует ожидаемому
    """
    self.text.check_have_text(text, msg)

check_title(title, msg)

Проверка текста заголовка окна подтверждения.

Parameters:

Name Type Description Default
title

ожидаемый текст заголовка

required
msg

сообщение об ошибке при несоответствии

required

Raises:

Type Description
AssertionError

если текст заголовка не соответствует ожидаемому

Source code in components\confirm_component.py
73
74
75
76
77
78
79
80
81
82
83
def check_title(self, title, msg):
    """Проверка текста заголовка окна подтверждения.

    Args:
        title: ожидаемый текст заголовка
        msg: сообщение об ошибке при несоответствии

    Raises:
        AssertionError: если текст заголовка не соответствует ожидаемому
    """
    self.title.check_have_text(title, msg)

click_allow_button()

Нажатие кнопки подтверждения действия.

Выполняет клик по кнопке с текстом, переданным в allow_button_text.

Source code in components\confirm_component.py
54
55
56
57
58
59
def click_allow_button(self):
    """Нажатие кнопки подтверждения действия.

    Выполняет клик по кнопке с текстом, переданным в allow_button_text.
    """
    self.allow_button.click()

click_cancel_button()

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

Выполняет клик по кнопке с текстом, переданным в cancel_button_text.

Source code in components\confirm_component.py
61
62
63
64
65
66
def click_cancel_button(self):
    """Нажатие кнопки отмены действия.

    Выполняет клик по кнопке с текстом, переданным в cancel_button_text.
    """
    self.cancel_button.click()

click_close_button()

Нажатие кнопки закрытия окна подтверждения.

Source code in components\confirm_component.py
68
69
70
def click_close_button(self):
    """Нажатие кнопки закрытия окна подтверждения."""
    self.close_button.click()