メインコンテンツにスキップ

LocatorAssertions

LocatorAssertions クラスは、テストにおける Locator の状態についてアサーションを行うために使用できるアサーションメソッドを提供します。

from playwright.sync_api import Page, expect

def test_status_becomes_submitted(page: Page) -> None:
# ..
page.get_by_role("button").click()
expect(page.locator(".status")).to_have_text("Submitted")

メソッド

not_to_be_attached

追加バージョン: v1.33 locatorAssertions.not_to_be_attached

expect(locator).to_be_attached() の反対。

使用方法

expect(locator).not_to_be_attached()
expect(locator).not_to_be_attached(**kwargs)

引数

  • attached bool (オプション)#

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_checked

追加バージョン: v1.20 locatorAssertions.not_to_be_checked

expect(locator).to_be_checked() の反対。

使用方法

expect(locator).not_to_be_checked()
expect(locator).not_to_be_checked(**kwargs)

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_disabled

追加バージョン: v1.20 locatorAssertions.not_to_be_disabled

expect(locator).to_be_disabled() の反対。

使用方法

expect(locator).not_to_be_disabled()
expect(locator).not_to_be_disabled(**kwargs)

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_editable

追加バージョン: v1.20 locatorAssertions.not_to_be_editable

expect(locator).to_be_editable() の反対。

使用方法

expect(locator).not_to_be_editable()
expect(locator).not_to_be_editable(**kwargs)

引数

  • editable bool (オプション)追加バージョン: v1.26#

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_empty

追加バージョン: v1.20 locatorAssertions.not_to_be_empty

expect(locator).to_be_empty() の反対。

使用方法

expect(locator).not_to_be_empty()
expect(locator).not_to_be_empty(**kwargs)

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_enabled

追加バージョン: v1.20 locatorAssertions.not_to_be_enabled

expect(locator).to_be_enabled() の反対。

使用方法

expect(locator).not_to_be_enabled()
expect(locator).not_to_be_enabled(**kwargs)

引数

  • enabled bool (オプション)追加バージョン: v1.26#

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_focused

追加バージョン: v1.20 locatorAssertions.not_to_be_focused

expect(locator).to_be_focused() の反対。

使用方法

expect(locator).not_to_be_focused()
expect(locator).not_to_be_focused(**kwargs)

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_hidden

追加バージョン: v1.20 locatorAssertions.not_to_be_hidden

expect(locator).to_be_hidden() の反対。

使用方法

expect(locator).not_to_be_hidden()
expect(locator).not_to_be_hidden(**kwargs)

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_in_viewport

追加バージョン: v1.31 locatorAssertions.not_to_be_in_viewport

expect(locator).to_be_in_viewport() の反対。

使用方法

expect(locator).not_to_be_in_viewport()
expect(locator).not_to_be_in_viewport(**kwargs)

引数

  • ratio float (オプション)#

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_be_visible

追加バージョン: v1.20 locatorAssertions.not_to_be_visible

expect(locator).to_be_visible() の反対。

使用方法

expect(locator).not_to_be_visible()
expect(locator).not_to_be_visible(**kwargs)

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

  • visible bool (オプション)追加バージョン: v1.26#

戻り値


not_to_contain_class

追加バージョン: v1.52 locatorAssertions.not_to_contain_class

expect(locator).to_contain_class() の反対。

使用方法

expect(locator).not_to_contain_class(expected)
expect(locator).not_to_contain_class(expected, **kwargs)

引数

  • expected str | List[str]#

    期待されるクラスまたは正規表現、あるいはそれらのリスト。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_contain_text

追加バージョン: v1.20 locatorAssertions.not_to_contain_text

expect(locator).to_contain_text() の反対。

使用方法

expect(locator).not_to_contain_text(expected)
expect(locator).not_to_contain_text(expected, **kwargs)

引数

  • expected str | Pattern | List[str] | List[Pattern] | List[str | Pattern]追加バージョン: v1.18#

    期待される部分文字列または正規表現、あるいはそれらのリスト。

  • ignore_case bool (オプション)追加バージョン: v1.23#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

  • use_inner_text bool (オプション)追加バージョン: v1.18#

    DOMノードのテキストを取得する際に、element.textContent の代わりに element.innerText を使用するかどうか。

戻り値


not_to_have_accessible_description

追加バージョン: v1.44 locatorAssertions.not_to_have_accessible_description

expect(locator).to_have_accessible_description() の反対。

使用方法

expect(locator).not_to_have_accessible_description(name)
expect(locator).not_to_have_accessible_description(name, **kwargs)

引数

  • description str | Pattern#

    期待されるアクセシブルな説明。

  • ignore_case bool (オプション)#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_accessible_error_message

追加バージョン: v1.50 locatorAssertions.not_to_have_accessible_error_message

expect(locator).to_have_accessible_error_message() の反対。

使用方法

expect(locator).not_to_have_accessible_error_message(error_message)
expect(locator).not_to_have_accessible_error_message(error_message, **kwargs)

引数

  • error_message str | Pattern#

    期待されるアクセシブルなエラーメッセージ。

  • ignore_case bool (オプション)#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_accessible_name

追加バージョン: v1.44 locatorAssertions.not_to_have_accessible_name

expect(locator).to_have_accessible_name() の反対。

使用方法

expect(locator).not_to_have_accessible_name(name)
expect(locator).not_to_have_accessible_name(name, **kwargs)

引数

  • name str | Pattern#

    期待されるアクセシブルな名前。

  • ignore_case bool (オプション)#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_attribute

追加バージョン: v1.20 locatorAssertions.not_to_have_attribute

expect(locator).to_have_attribute() の反対。

使用方法

expect(locator).not_to_have_attribute(name, value)
expect(locator).not_to_have_attribute(name, value, **kwargs)

引数

  • name str追加バージョン: v1.18#

    属性名。

  • value str | Pattern追加バージョン: v1.18#

    期待される属性値。

  • ignore_case bool (オプション)追加バージョン: v1.40#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_class

追加バージョン: v1.20 locatorAssertions.not_to_have_class

expect(locator).to_have_class() の反対。

使用方法

expect(locator).not_to_have_class(expected)
expect(locator).not_to_have_class(expected, **kwargs)

引数

  • expected str | Pattern | List[str] | List[Pattern] | List[str | Pattern]追加バージョン: v1.18#

    期待されるクラスまたは正規表現、あるいはそれらのリスト。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_count

追加バージョン: v1.20 locatorAssertions.not_to_have_count

expect(locator).to_have_count() の反対。

使用方法

expect(locator).not_to_have_count(count)
expect(locator).not_to_have_count(count, **kwargs)

引数

  • count int追加バージョン: v1.18#

    期待されるカウント。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_css

追加バージョン: v1.20 locatorAssertions.not_to_have_css

expect(locator).to_have_css() の反対。

使用方法

expect(locator).not_to_have_css(name, value)
expect(locator).not_to_have_css(name, value, **kwargs)

引数

  • name str追加バージョン: v1.18#

    CSSプロパティ名。

  • value str | Pattern追加バージョン: v1.18#

    CSSプロパティ値。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_id

追加バージョン: v1.20 locatorAssertions.not_to_have_id

expect(locator).to_have_id() の反対。

使用方法

expect(locator).not_to_have_id(id)
expect(locator).not_to_have_id(id, **kwargs)

引数

  • id str | Pattern追加バージョン: v1.18#

    要素ID。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_js_property

追加バージョン: v1.20 locatorAssertions.not_to_have_js_property

expect(locator).to_have_js_property() の反対。

使用方法

expect(locator).not_to_have_js_property(name, value)
expect(locator).not_to_have_js_property(name, value, **kwargs)

引数

  • name str追加バージョン: v1.18#

    プロパティ名。

  • value Any追加バージョン: v1.18#

    プロパティ値。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_role

追加バージョン: v1.44 locatorAssertions.not_to_have_role

expect(locator).to_have_role() の反対。

使用方法

expect(locator).not_to_have_role(role)
expect(locator).not_to_have_role(role, **kwargs)

引数

  • role "alert" | "alertdialog" | "application" | "article" | "banner" | "blockquote" | "button" | "caption" | "cell" | "checkbox" | "code" | "columnheader" | "combobox" | "complementary" | "contentinfo" | "definition" | "deletion" | "dialog" | "directory" | "document" | "emphasis" | "feed" | "figure" | "form" | "generic" | "grid" | "gridcell" | "group" | "heading" | "img" | "insertion" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "marquee" | "math" | "meter" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "navigation" | "none" | "note" | "option" | "paragraph" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "strong" | "subscript" | "superscript" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "time" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem"#

    必須のARIAロール。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_text

追加バージョン: v1.20 locatorAssertions.not_to_have_text

expect(locator).to_have_text() の反対。

使用方法

expect(locator).not_to_have_text(expected)
expect(locator).not_to_have_text(expected, **kwargs)

引数

  • expected str | Pattern | List[str] | List[Pattern] | List[str | Pattern]追加バージョン: v1.18#

    期待される文字列または正規表現、あるいはそれらのリスト。

  • ignore_case bool (オプション)追加バージョン: v1.23#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

  • use_inner_text bool (オプション)追加バージョン: v1.18#

    DOMノードのテキストを取得する際に、element.textContent の代わりに element.innerText を使用するかどうか。

戻り値


not_to_have_value

追加バージョン: v1.20 locatorAssertions.not_to_have_value

expect(locator).to_have_value() の反対。

使用方法

expect(locator).not_to_have_value(value)
expect(locator).not_to_have_value(value, **kwargs)

引数

  • value str | Pattern追加バージョン: v1.18#

    期待される値。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_have_values

追加バージョン: v1.23 locatorAssertions.not_to_have_values

expect(locator).to_have_values() の反対。

使用方法

expect(locator).not_to_have_values(values)
expect(locator).not_to_have_values(values, **kwargs)

引数

  • values List[str] | List[Pattern] | List[str | Pattern]#

    現在選択されている期待されるオプション。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


not_to_match_aria_snapshot

追加バージョン: v1.49 locatorAssertions.not_to_match_aria_snapshot

expect(locator).to_match_aria_snapshot() の反対。

使用方法

expect(locator).not_to_match_aria_snapshot(expected)
expect(locator).not_to_match_aria_snapshot(expected, **kwargs)

引数

  • expected str#

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_attached

追加バージョン: v1.33 locatorAssertions.to_be_attached

Locator が、Document または ShadowRoot に 接続されている 要素を指していることを保証します。

使用方法

expect(page.get_by_text("Hidden text")).to_be_attached()

引数

  • attached bool (オプション)#

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_checked

追加バージョン: v1.20 locatorAssertions.to_be_checked

Locator がチェックされた入力を指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.get_by_label("Subscribe to newsletter")
expect(locator).to_be_checked()

引数

  • checked bool (オプション)追加バージョン: v1.18#

    アサートする状態を提供します。デフォルトでは入力がチェックされていることをアサートします。このオプションは、indeterminate が true に設定されている場合には使用できません。

  • indeterminate bool (オプション)追加バージョン: v1.50#

    要素が不確定(混合)状態であることをアサートします。チェックボックスとラジオボタンでのみサポートされています。このオプションは、checked が指定されている場合には true にできません。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_disabled

追加バージョン: v1.20 locatorAssertions.to_be_disabled

Locator が無効な要素を指していることを保証します。要素は、「disabled」属性を持つ場合、または 'aria-disabled' 経由で無効化されている場合に無効になります。HTMLの buttoninputselecttextareaoptionoptgroup などのネイティブコントロール要素のみが「disabled」属性を設定することで無効にできることに注意してください。他の要素の「disabled」属性はブラウザによって無視されます。

使用方法

from playwright.sync_api import expect

locator = page.locator("button.submit")
expect(locator).to_be_disabled()

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_editable

追加バージョン: v1.20 locatorAssertions.to_be_editable

Locator が編集可能な要素を指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.get_by_role("textbox")
expect(locator).to_be_editable()

引数

  • editable bool (オプション)追加バージョン: v1.26#

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_empty

追加バージョン: v1.20 locatorAssertions.to_be_empty

Locator が空の編集可能な要素またはテキストを持たないDOMノードを指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.locator("div.warning")
expect(locator).to_be_empty()

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_enabled

追加バージョン: v1.20 locatorAssertions.to_be_enabled

Locator が有効な要素を指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.locator("button.submit")
expect(locator).to_be_enabled()

引数

  • enabled bool (オプション)追加バージョン: v1.26#

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_focused

追加バージョン: v1.20 locatorAssertions.to_be_focused

Locator がフォーカスされたDOMノードを指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.get_by_role("textbox")
expect(locator).to_be_focused()

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_hidden

追加バージョン: v1.20 locatorAssertions.to_be_hidden

Locator がどのDOMノードにも解決されないか、または 非表示の ノードに解決されることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.locator('.my-element')
expect(locator).to_be_hidden()

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_in_viewport

追加バージョン: v1.31 locatorAssertions.to_be_in_viewport

Locator が、Intersection Observer API に従って、ビューポートと交差する要素を指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.get_by_role("button")
# Make sure at least some part of element intersects viewport.
expect(locator).to_be_in_viewport()
# Make sure element is fully outside of viewport.
expect(locator).not_to_be_in_viewport()
# Make sure that at least half of the element intersects viewport.
expect(locator).to_be_in_viewport(ratio=0.5)

引数

  • ratio float (オプション)#

    要素がビューポートと交差する最小比率。0 に等しい場合、要素は任意の正の比率でビューポートと交差する必要があります。デフォルトは 0 です。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_be_visible

追加バージョン: v1.20 locatorAssertions.to_be_visible

Locator が、アタッチされ 可視な DOMノードを指していることを保証します。

リストから少なくとも1つの要素が可視であることを確認するには、locator.first を使用します。

使用方法

# A specific element is visible.
expect(page.get_by_text("Welcome")).to_be_visible()

# At least one item in the list is visible.
expect(page.get_by_test_id("todo-item").first).to_be_visible()

# At least one of the two elements is visible, possibly both.
expect(
page.get_by_role("button", name="Sign in")
.or_(page.get_by_role("button", name="Sign up"))
.first
).to_be_visible()

引数

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

  • visible bool (オプション)追加バージョン: v1.26#

戻り値


to_contain_class

追加バージョン: v1.52 locatorAssertions.to_contain_class

Locator が指定されたCSSクラスを持つ要素を指していることを保証します。アサートされた値からのすべてのクラス(スペースで区切られたもの)は、Element.classList に任意の順序で存在する必要があります。

使用方法

<div class='middle selected row' id='component'></div>
from playwright.sync_api import expect

locator = page.locator("#component")
expect(locator).to_contain_class("middle selected row")
expect(locator).to_contain_class("selected")
expect(locator).to_contain_class("row middle")

配列が渡された場合、このメソッドは、特定された要素のリストが、期待されるクラスリストの対応するリストと一致することをアサートします。各要素のclass属性は、配列内の対応するクラスと照合されます。

<div class='list'></div>
<div class='component inactive'></div>
<div class='component active'></div>
<div class='component inactive'></div>
</div>
from playwright.sync_api import expect

locator = page.locator("list > .component")
await expect(locator).to_contain_class(["inactive", "active", "inactive"])

引数

  • expected str | List[str]#

    スペースで区切られた期待されるクラス名を含む文字列、または複数の要素をアサートするためのそのような文字列のリスト。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_contain_text

追加バージョン: v1.20 locatorAssertions.to_contain_text

Locator が指定されたテキストを含む要素を指していることを保証します。要素のテキストコンテンツを計算する際には、すべてのネストされた要素が考慮されます。値に正規表現を使用することもできます。

使用方法

import re
from playwright.sync_api import expect

locator = page.locator('.title')
expect(locator).to_contain_text("substring")
expect(locator).to_contain_text(re.compile(r"\d messages"))

期待値として配列を渡す場合、期待される動作は次のとおりです。

  1. ロケーターは要素のリストに解決されます。
  2. このリストのサブセットからの要素が、期待される配列からのテキストをそれぞれ含みます。
  3. 一致する要素のサブセットは、期待される配列と同じ順序を持っています。
  4. 期待される配列からの各テキスト値は、リストから何らかの要素によって一致します。

例として、次のリストを考えてみましょう。

<ul>
<li>Item Text 1</li>
<li>Item Text 2</li>
<li>Item Text 3</li>
</ul>

このアサーションをどのように使用できるか見てみましょう。

from playwright.sync_api import expect

# ✓ Contains the right items in the right order
expect(page.locator("ul > li")).to_contain_text(["Text 1", "Text 3", "Text 4"])

# ✖ Wrong order
expect(page.locator("ul > li")).to_contain_text(["Text 3", "Text 2"])

# ✖ No item contains this text
expect(page.locator("ul > li")).to_contain_text(["Some 33"])

# ✖ Locator points to the outer list element, not to the list items
expect(page.locator("ul")).to_contain_text(["Text 3"])

引数

  • expected str | Pattern | List[str] | List[Pattern] | List[str | Pattern]追加バージョン: v1.18#

    期待される部分文字列または正規表現、あるいはそれらのリスト。

  • ignore_case bool (オプション)追加バージョン: v1.23#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

  • use_inner_text bool (オプション)追加バージョン: v1.18#

    DOMノードのテキストを取得する際に、element.textContent の代わりに element.innerText を使用するかどうか。

戻り値

詳細

expected パラメータが文字列の場合、Playwrightは一致する前に実際のテキストと期待される文字列の両方で空白と改行を正規化します。正規表現が使用される場合、実際のテキストはそのまま一致されます。


to_have_accessible_description

追加バージョン: v1.44 locatorAssertions.to_have_accessible_description

Locator が、指定された アクセシブルな説明 を持つ要素を指していることを保証します。

使用方法

locator = page.get_by_test_id("save-button")
expect(locator).to_have_accessible_description("Save results to disk")

引数

  • description str | Pattern#

    期待されるアクセシブルな説明。

  • ignore_case bool (オプション)#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_accessible_error_message

追加バージョン: v1.50 locatorAssertions.to_have_accessible_error_message

Locator が、指定された aria errormessage を持つ要素を指していることを保証します。

使用方法

locator = page.get_by_test_id("username-input")
expect(locator).to_have_accessible_error_message("Username is required.")

引数

  • error_message str | Pattern#

    期待されるアクセシブルなエラーメッセージ。

  • ignore_case bool (オプション)#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_accessible_name

追加バージョン: v1.44 locatorAssertions.to_have_accessible_name

Locator が、指定された アクセシブルな名前 を持つ要素を指していることを保証します。

使用方法

locator = page.get_by_test_id("save-button")
expect(locator).to_have_accessible_name("Save to disk")

引数

  • name str | Pattern#

    期待されるアクセシブルな名前。

  • ignore_case bool (オプション)#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_attribute

追加バージョン: v1.20 locatorAssertions.to_have_attribute

Locator が指定された属性を持つ要素を指していることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.locator("input")
expect(locator).to_have_attribute("type", "text")

引数

  • name str追加バージョン: v1.18#

    属性名。

  • value str | Pattern追加バージョン: v1.18#

    期待される属性値。

  • ignore_case bool (オプション)追加バージョン: v1.40#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_case オプションが指定されている場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_class

追加バージョン: v1.20 locatorAssertions.to_have_class

Locatorが指定されたCSSクラスを持つ要素を指すようにします。文字列が指定された場合、その文字列は要素のclass属性と完全に一致する必要があります。個々のクラスに一致させるには、expect(locator).to_contain_class()を使用します。

使用方法

<div class='middle selected row' id='component'></div>
from playwright.sync_api import expect

locator = page.locator("#component")
expect(locator).to_have_class("middle selected row")
expect(locator).to_have_class(re.compile(r"(^|\\s)selected(\\s|$)"))

配列が渡された場合、このメソッドは、特定された要素のリストが対応する期待されるクラス値のリストと一致することをアサートします。各要素のclass属性は、配列内の対応する文字列または正規表現と照合されます。

from playwright.sync_api import expect

locator = page.locator("list > .component")
expect(locator).to_have_class(["component", "component selected", "component"])

引数

  • expected str | Pattern | List[str] | List[Pattern] | List[str | Pattern]追加バージョン: v1.18#

    期待されるクラスまたは正規表現、あるいはそれらのリスト。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_count

追加バージョン: v1.20 locatorAssertions.to_have_count

Locatorが正確な数のDOMノードに解決されることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.locator("list > .component")
expect(locator).to_have_count(3)

引数

  • count int追加バージョン: v1.18#

    期待されるカウント。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_css

追加バージョン: v1.20 locatorAssertions.to_have_css

Locatorが指定された計算済みCSSスタイルを持つ要素に解決されることを保証します。

使用方法

from playwright.sync_api import expect

locator = page.get_by_role("button")
expect(locator).to_have_css("display", "flex")

引数

  • name str追加バージョン: v1.18#

    CSSプロパティ名。

  • value str | Pattern追加バージョン: v1.18#

    CSSプロパティ値。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_id

追加バージョン: v1.20 locatorAssertions.to_have_id

Locatorが指定されたDOMノードIDを持つ要素を指すようにします。

使用方法

from playwright.sync_api import expect

locator = page.get_by_role("textbox")
expect(locator).to_have_id("lastname")

引数

  • id str | Pattern追加バージョン: v1.18#

    要素ID。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_js_property

追加バージョン: v1.20 locatorAssertions.to_have_js_property

Locatorが指定されたJavaScriptプロパティを持つ要素を指すようにします。このプロパティは、プリミティブ型であるだけでなく、プレーンなシリアル化可能なJavaScriptオブジェクトである場合もあることに注意してください。

使用方法

from playwright.sync_api import expect

locator = page.locator(".component")
expect(locator).to_have_js_property("loaded", True)

引数

  • name str追加バージョン: v1.18#

    プロパティ名。

  • value Any追加バージョン: v1.18#

    プロパティ値。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_role

追加バージョン: v1.44 locatorAssertions.to_have_role

Locatorが指定されたARIAロールを持つ要素を指すようにします。

ロールはARIAロール階層を無視して文字列として照合されることに注意してください。例えば、サブクラスロール"switch"を持つ要素に対してスーパークラスロール"checkbox"をアサートすると失敗します。

使用方法

locator = page.get_by_test_id("save-button")
expect(locator).to_have_role("button")

引数

  • role "alert" | "alertdialog" | "application" | "article" | "banner" | "blockquote" | "button" | "caption" | "cell" | "checkbox" | "code" | "columnheader" | "combobox" | "complementary" | "contentinfo" | "definition" | "deletion" | "dialog" | "directory" | "document" | "emphasis" | "feed" | "figure" | "form" | "generic" | "grid" | "gridcell" | "group" | "heading" | "img" | "insertion" | "link" | "list" | "listbox" | "listitem" | "log" | "main" | "marquee" | "math" | "meter" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "navigation" | "none" | "note" | "option" | "paragraph" | "presentation" | "progressbar" | "radio" | "radiogroup" | "region" | "row" | "rowgroup" | "rowheader" | "scrollbar" | "search" | "searchbox" | "separator" | "slider" | "spinbutton" | "status" | "strong" | "subscript" | "superscript" | "switch" | "tab" | "table" | "tablist" | "tabpanel" | "term" | "textbox" | "time" | "timer" | "toolbar" | "tooltip" | "tree" | "treegrid" | "treeitem"#

    必須のARIAロール。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_text

追加バージョン: v1.20 locatorAssertions.to_have_text

Locatorが指定されたテキストを持つ要素を指すようにします。要素のテキストコンテンツを計算する際、すべてのネストされた要素が考慮されます。値に正規表現を使用することもできます。

使用方法

import re
from playwright.sync_api import expect

locator = page.locator(".title")
expect(locator).to_have_text(re.compile(r"Welcome, Test User"))
expect(locator).to_have_text(re.compile(r"Welcome, .*"))

期待値として配列を渡す場合、期待される動作は次のとおりです。

  1. ロケーターは要素のリストに解決されます。
  2. 要素の数は、配列内の期待される値の数と等しくなります。
  3. リスト内の要素は、期待される配列の値と、順に1つずつテキストが一致します。

例として、次のリストを考えてみましょう。

<ul>
<li>Text 1</li>
<li>Text 2</li>
<li>Text 3</li>
</ul>

このアサーションをどのように使用できるか見てみましょう。

from playwright.sync_api import expect

# ✓ Has the right items in the right order
expect(page.locator("ul > li")).to_have_text(["Text 1", "Text 2", "Text 3"])

# ✖ Wrong order
expect(page.locator("ul > li")).to_have_text(["Text 3", "Text 2", "Text 1"])

# ✖ Last item does not match
expect(page.locator("ul > li")).to_have_text(["Text 1", "Text 2", "Text"])

# ✖ Locator points to the outer list element, not to the list items
expect(page.locator("ul")).to_have_text(["Text 1", "Text 2", "Text 3"])

引数

  • expected str | Pattern | List[str] | List[Pattern] | List[str | Pattern]追加バージョン: v1.18#

    期待される文字列または正規表現、あるいはそれらのリスト。

  • ignore_case bool (オプション)追加バージョン: v1.23#

    大文字と小文字を区別しない一致を実行するかどうか。ignore_caseオプションは、指定された場合、対応する正規表現フラグよりも優先されます。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

  • use_inner_text bool (オプション)追加バージョン: v1.18#

    DOMノードのテキストを取得する際に、element.textContent の代わりに element.innerText を使用するかどうか。

戻り値

詳細

expected パラメータが文字列の場合、Playwrightは一致する前に実際のテキストと期待される文字列の両方で空白と改行を正規化します。正規表現が使用される場合、実際のテキストはそのまま一致されます。


to_have_value

追加バージョン: v1.20 locatorAssertions.to_have_value

Locatorが指定された入力値を持つ要素を指すようにします。値に正規表現を使用することもできます。

使用方法

import re
from playwright.sync_api import expect

locator = page.locator("input[type=number]")
expect(locator).to_have_value(re.compile(r"[0-9]"))

引数

  • value str | Pattern追加バージョン: v1.18#

    期待される値。

  • timeout float (オプション)追加バージョン: v1.18#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_have_values

追加バージョン: v1.23 locatorAssertions.to_have_values

Locatorが複数選択/コンボボックス(すなわち、multiple属性を持つselect要素)を指し、指定された値が選択されていることを保証します。

使用方法

例えば、以下の要素が与えられた場合

<select id="favorite-colors" multiple>
<option value="R">Red</option>
<option value="G">Green</option>
<option value="B">Blue</option>
</select>
import re
from playwright.sync_api import expect

locator = page.locator("id=favorite-colors")
locator.select_option(["R", "G"])
expect(locator).to_have_values([re.compile(r"R"), re.compile(r"G")])

引数

  • values List[str] | List[Pattern] | List[str | Pattern]#

    現在選択されている期待されるオプション。

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値


to_match_aria_snapshot

追加バージョン: v1.49 locatorAssertions.to_match_aria_snapshot

ターゲット要素が指定されたアクセシビリティスナップショットと一致することをアサートします。

使用方法

page.goto("https://demo.playwright.dev/todomvc/")
expect(page.locator('body')).to_match_aria_snapshot('''
- heading "todos"
- textbox "What needs to be done?"
''')

引数

  • expected str#

  • timeout float (オプション)#

    アサーションを再試行する時間(ミリ秒単位)。デフォルトは 5000 です。

戻り値