Перейти к основному содержимому

Проверки

Список утверждений

УтверждениеОписание
expect(locator).to_be_attached()Элемент прикреплен
expect(locator).to_be_checked()Чекбокс отмечен
expect(locator).to_be_disabled()Элемент отключен
expect(locator).to_be_editable()Элемент редактируемый
expect(locator).to_be_empty()Контейнер пуст
expect(locator).to_be_enabled()Элемент включен
expect(locator).to_be_focused()Элемент в фокусе
expect(locator).to_be_hidden()Элемент не виден
expect(locator).to_be_in_viewport()Элемент пересекается с областью просмотра
expect(locator).to_be_visible()Элемент виден
expect(locator).to_contain_text()Элемент содержит текст
expect(locator).to_have_accessible_description()Элемент имеет соответствующее доступное описание
expect(locator).to_have_accessible_name()Элемент имеет соответствующее доступное имя
expect(locator).to_have_attribute()Элемент имеет атрибут DOM
expect(locator).to_have_class()Элемент имеет класс
expect(locator).to_have_count()Список имеет точное количество дочерних элементов
expect(locator).to_have_css()Элемент имеет CSS-свойство
expect(locator).to_have_id()Элемент имеет ID
expect(locator).to_have_js_property()Элемент имеет JavaScript-свойство
expect(locator).to_have_role()Элемент имеет определенную роль ARIA
expect(locator).to_have_text()Элемент соответствует тексту
expect(locator).to_have_value()Поле ввода имеет значение
expect(locator).to_have_values()В селекте выбраны опции
expect(page).to_have_title()Страница имеет заголовок
expect(page).to_have_url()Страница имеет URL
expect(response).to_be_ok()Ответ имеет статус OK

Пользовательское сообщение ожидания

Вы можете указать пользовательское сообщение ожидания в качестве второго аргумента функции expect, например:

expect(page.get_by_text("Name"), "should be logged in").to_be_visible()

Когда ожидание не выполняется, ошибка будет выглядеть следующим образом:

    def test_foobar(page: Page) -> None:
> expect(page.get_by_text("Name"), "should be logged in").to_be_visible()
E AssertionError: should be logged in
E Actual value: None
E Call log:
E LocatorAssertions.to_be_visible with timeout 5000ms
E waiting for get_by_text("Name")
E waiting for get_by_text("Name")

tests/test_foobar.py:22: AssertionError

Установка пользовательского таймаута

Вы можете указать пользовательский таймаут для утверждений как глобально, так и для каждого утверждения отдельно. Таймаут по умолчанию составляет 5 секунд.

Глобальный таймаут

conftest.py
from playwright.sync_api import expect

expect.set_options(timeout=10_000)

Таймаут для каждого утверждения

test_foobar.py
from playwright.sync_api import expect

def test_foobar(page: Page) -> None:
expect(page.get_by_text("Name")).to_be_visible(timeout=10_000)