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

LocatorAssertions

Класс LocatorAssertions предоставляет методы утверждений, которые можно использовать для проверки состояния Locator в тестах.

// ...
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;

public class TestLocator {
// ...
@Test
void statusBecomesSubmitted() {
// ...
page.getByRole(AriaRole.BUTTON).click();
assertThat(page.locator(".status")).hasText("Submitted");
}
}

Методы

containsClass

Добавлено в: v1.52 locatorAssertions.containsClass

Гарантирует, что Locator указывает на элемент с заданными CSS-классами. Все классы из проверяемого значения, разделённые пробелами, должны присутствовать в Element.classList в любом порядке.

Использование

<div class='middle selected row' id='component'></div>
assertThat(page.locator("#component")).containsClass("middle selected row");
assertThat(page.locator("#component")).containsClass("selected");
assertThat(page.locator("#component")).containsClass("row middle");

Когда передаётся массив, метод проверяет, что список найденных элементов соответствует соответствующему списку ожидаемых наборов классов. Атрибут class каждого элемента сопоставляется с соответствующим классом в массиве:

<div class='list'>
<div class='component inactive'></div>
<div class='component active'></div>
<div class='component inactive'></div>
</div>
assertThat(page.locator(".list > .component")).containsClass(new String[] {"inactive", "active", "inactive"});

Аргументы

  • expected String | List<String>#

    Строка, содержащая ожидаемые имена классов, разделённые пробелами, или список таких строк, чтобы проверить несколько элементов.

  • options LocatorAssertions.ContainsClassOptions (опционально)

    • setTimeout double (опционально)#

      Время повторных попыток выполнения утверждения в миллисекундах. По умолчанию 5000.

Возвращает


containsText

Добавлено в: v1.20 locatorAssertions.containsText

Убеждается, что Locator указывает на элемент, содержащий заданный текст. При вычислении текстового содержимого элемента будут учитываться все вложенные элементы. В качестве значения также можно использовать регулярные выражения.

Использование

assertThat(page.locator(".title")).containsText("substring");

Если в качестве ожидаемого значения передаётся массив, ожидания следующие:

  1. Локатор разрешается в список элементов.
  2. Элементы из подмножества этого списка соответственно содержат текст из ожидаемого массива.
  3. Совпадающее подмножество элементов имеет тот же порядок, что и ожидаемый массив.
  4. Каждое текстовое значение из ожидаемого массива сопоставляется с некоторым элементом из списка.

Например, рассмотрим следующий список:

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

Посмотрим, как можно использовать это утверждение:

// ✓ Contains the right items in the right order
assertThat(page.locator("ul > li")).containsText(new String[] {"Text 1", "Text 3", "Text 4"});

// ✖ Wrong order
assertThat(page.locator("ul > li")).containsText(new String[] {"Text 3", "Text 2"});

// ✖ No item contains this text
assertThat(page.locator("ul > li")).containsText(new String[] {"Some 33"});

// ✖ Locator points to the outer list element, not to the list items
assertThat(page.locator("ul")).containsText(new String[] {"Text 3"});

Аргументы

  • expected String | Pattern | String[] | Pattern[] Добавлено в: v1.18#

    Ожидаемая подстрока, регулярное выражение или список из них.

  • options LocatorAssertions.ContainsTextOptions (опционально)

    • setIgnoreCase boolean (опционально) Добавлено в: v1.23#

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

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время повторных попыток выполнения утверждения в миллисекундах. По умолчанию 5000.

    • setUseInnerText boolean (опционально) Добавлено в: v1.18#

      Использовать ли element.innerText вместо element.textContent при получении текста DOM-узла.

Возвращает

Детали

Когда параметр expected является строкой, Playwright нормализует пробелы и переводы строк как в фактическом тексте, так и в ожидаемой строке перед сопоставлением. При использовании регулярного выражения фактический текст сопоставляется как есть.


hasAccessibleDescription

Добавлено в: v1.44 locatorAssertions.hasAccessibleDescription

Убеждается, что Locator указывает на элемент с заданным accessible description.

Использование

Locator locator = page.getByTestId("save-button");
assertThat(locator).hasAccessibleDescription("Save results to disk");

Аргументы

  • description String | Pattern#

    Ожидаемое accessible description.

  • options LocatorAssertions.HasAccessibleDescriptionOptions (опционально)

    • setIgnoreCase boolean (опционально)#

      Нужно ли выполнять сопоставление без учёта регистра. Опция setIgnoreCase имеет приоритет над соответствующим флагом регулярного выражения, если задана.

    • setTimeout double (опционально)#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasAccessibleErrorMessage

Добавлено в: v1.50 locatorAssertions.hasAccessibleErrorMessage

Гарантирует, что Locator указывает на элемент с заданным aria errormessage.

Использование

Locator locator = page.getByTestId("username-input");
assertThat(locator).hasAccessibleErrorMessage("Username is required.");

Аргументы

  • errorMessage String | Pattern#

    Ожидаемое accessible error message.

  • options LocatorAssertions.HasAccessibleErrorMessageOptions (опционально)

    • setIgnoreCase boolean (опционально)#

      Нужно ли выполнять сопоставление без учёта регистра. Опция setIgnoreCase имеет приоритет над соответствующим флагом регулярного выражения, если задана.

    • setTimeout double (опционально)#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasAccessibleName

Добавлено в: v1.44 locatorAssertions.hasAccessibleName

Убеждается, что Locator указывает на элемент с заданным accessible name.

Использование

Locator locator = page.getByTestId("save-button");
assertThat(locator).hasAccessibleName("Save to disk");

Аргументы

  • name String | Pattern#

    Expected accessible name.

  • options LocatorAssertions.HasAccessibleNameOptions (опционально)

    • setIgnoreCase boolean (опционально)#

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

    • setTimeout double (опционально)#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasAttribute

Добавлено в: v1.20 locatorAssertions.hasAttribute

Убеждается, что Locator указывает на элемент с заданным атрибутом.

Использование

assertThat(page.locator("input")).hasAttribute("type", "text");

Аргументы

  • name String Добавлено в: v1.18#

    Имя атрибута.

  • value String | Pattern Добавлено в: v1.18#

    Ожидаемое значение атрибута.

  • options LocatorAssertions.HasAttributeOptions (опционально)

    • setIgnoreCase boolean (опционально) Добавлено в: v1.40#

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

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время повторных попыток выполнения утверждения в миллисекундах. По умолчанию 5000.

Возвращает


hasClass

Добавлено в: v1.20 locatorAssertions.hasClass

Гарантирует, что Locator указывает на элемент с заданными CSS-классами. Когда передаётся строка, она должна полностью соответствовать атрибуту class элемента. Для сопоставления отдельных классов используйте assertThat(locator).containsClass().

Использование

<div class='middle selected row' id='component'></div>
assertThat(page.locator("#component")).hasClass("middle selected row");
assertThat(page.locator("#component")).hasClass(Pattern.compile("(^|\\s)selected(\\s|$)"));

Когда передаётся массив, метод проверяет, что список найденных элементов соответствует соответствующему списку ожидаемых значений классов. Атрибут class каждого элемента сопоставляется с соответствующей строкой или регулярным выражением в массиве:

assertThat(page.locator(".list > .component")).hasClass(new String[] {"component", "component selected", "component"});

Аргументы

  • expected String | Pattern | String[] | Pattern[] Добавлено в: v1.18#

    Expected class or RegExp or a list of those.

  • options LocatorAssertions.HasClassOptions (опционально)

    • setTimeout double (опционально) Добавлено в: v1.18#

      Time to retry the assertion for in milliseconds. Defaults to 5000.

Возвращает


hasCount

Добавлено в: v1.20 locatorAssertions.hasCount

Гарантирует, что Locator разрешается ровно в заданное количество DOM-узлов.

Использование

assertThat(page.locator("list > .component")).hasCount(3);

Аргументы

  • count int Добавлено в: v1.18#

    Ожидаемое количество.

  • options LocatorAssertions.HasCountOptions (опционально)

    • setTimeout double (опционально) Добавлено в: v1.18#

      Time to retry the assertion for in milliseconds. Defaults to 5000.

Возвращает


hasCSS

Добавлено в: v1.20 locatorAssertions.hasCSS

Убеждается, что Locator указывает на элемент с заданным вычисленным CSS-стилем.

Использование

assertThat(page.getByRole(AriaRole.BUTTON)).hasCSS("display", "flex");

Аргументы

  • name String Добавлено в: v1.18#

    Имя CSS-свойства.

  • value String | Pattern Добавлено в: v1.18#

    Значение CSS-свойства.

  • options LocatorAssertions.HasCSSOptions (опционально)

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasId

Добавлено в: v1.20 locatorAssertions.hasId

Убеждается, что Locator указывает на элемент с заданным ID DOM-узла.

Использование

assertThat(page.getByRole(AriaRole.TEXTBOX)).hasId("lastname");

Аргументы

  • id String | Pattern Добавлено в: v1.18#

    Идентификатор элемента.

  • options LocatorAssertions.HasIdOptions (опционально)

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasJSProperty

Добавлено в: v1.20 locatorAssertions.hasJSProperty

Убеждается, что Locator указывает на элемент с заданным JavaScript-свойством. Обратите внимание, что это свойство может быть как примитивным типом, так и простым сериализуемым JavaScript-объектом.

Использование

assertThat(page.locator("input")).hasJSProperty("loaded", true);

Аргументы

  • name String Добавлено в: v1.18#

    Имя свойства.

  • value Object Добавлено в: v1.18#

    Значение свойства.

  • options LocatorAssertions.HasJSPropertyOptions (опционально)

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время повторных попыток выполнения утверждения в миллисекундах. По умолчанию 5000.

Возвращает


hasRole

Добавлено в: v1.44 locatorAssertions.hasRole

Гарантирует, что Locator указывает на элемент с заданной ролью ARIA.

Обратите внимание, что роль сопоставляется как строка, без учёта иерархии ролей ARIA. Например, проверка роли суперкласса "checkbox" для элемента с ролью подкласса "switch" завершится неудачей.

Использование

Locator locator = page.getByTestId("save-button");
assertThat(locator).hasRole(AriaRole.BUTTON);

Аргументы

  • role enum AriaRole { 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 }#

    Required aria role.

  • options LocatorAssertions.HasRoleOptions (опционально)

    • setTimeout double (опционально)#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasText

Добавлено в: v1.20 locatorAssertions.hasText

Убеждается, что Locator указывает на элемент с заданным текстом. При вычислении текстового содержимого элемента будут учитываться все вложенные элементы. В качестве значения также можно использовать регулярные выражения.

Использование

assertThat(page.locator(".title")).hasText("Welcome, Test User");
assertThat(page.locator(".title")).hasText(Pattern.compile("Welcome, .*"));

Если передать массив в качестве ожидаемого значения, ожидания такие:

  1. Локатор разрешается в список элементов.
  2. Количество элементов равно количеству ожидаемых значений в массиве.
  3. Текст элементов из списка по очереди, в заданном порядке, соответствует ожидаемым значениям из массива.

Например, рассмотрим следующий список:

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

Посмотрим, как можно использовать эту проверку:

// ✓ Содержит правильные элементы в правильном порядке
assertThat(page.locator("ul > li")).hasText(new String[] {"Text 1", "Text 2", "Text 3"});

// ✖ Неверный порядок
assertThat(page.locator("ul > li")).hasText(new String[] {"Text 3", "Text 2", "Text 1"});

// ✖ Последний элемент не совпадает
assertThat(page.locator("ul > li")).hasText(new String[] {"Text 1", "Text 2", "Text"});

// ✖ Локатор указывает на внешний элемент списка, а не на элементы списка
assertThat(page.locator("ul")).hasText(new String[] {"Text 1", "Text 2", "Text 3"});

Аргументы

  • expected String | Pattern | String[] | Pattern[] Добавлено в: v1.18#

    Ожидаемая строка, регулярное выражение или список из них.

  • options LocatorAssertions.HasTextOptions (опционально)

    • setIgnoreCase boolean (опционально) Добавлено в: v1.23#

      Нужно ли выполнять сопоставление без учёта регистра. Опция setIgnoreCase имеет приоритет над соответствующим флагом регулярного выражения, если задана.

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

    • setUseInnerText boolean (опционально) Добавлено в: v1.18#

      Нужно ли использовать element.innerText вместо element.textContent при получении текста DOM-узла.

Возвращает

Детали

Если параметр expected — строка, Playwright перед сопоставлением нормализует пробельные символы и переносы строк и в фактическом тексте, и в ожидаемой строке. Если используется регулярное выражение, фактический текст сопоставляется как есть.


hasValue

Добавлено в: v1.20 locatorAssertions.hasValue

Гарантирует, что Locator указывает на элемент с заданным значением ввода. Для значения также можно использовать регулярные выражения.

Использование

assertThat(page.locator("input[type=number]")).hasValue(Pattern.compile("[0-9]"));

Аргументы

  • value String | Pattern Добавлено в: v1.18#

    Ожидаемое значение.

  • options LocatorAssertions.HasValueOptions (опционально)

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


hasValues

Добавлено в: v1.23 locatorAssertions.hasValues

Гарантирует, что Locator указывает на элемент с множественным выбором/комбобокс (т.е. select с атрибутом multiple) и что указанные значения выбраны.

Использование

Например, для следующего элемента:

<select id="favorite-colors" multiple>
<option value="R">Red</option>
<option value="G">Green</option>
<option value="B">Blue</option>
</select>
page.locator("id=favorite-colors").selectOption(new String[]{"R", "G"});
assertThat(page.locator("id=favorite-colors")).hasValues(new Pattern[] { Pattern.compile("R"), Pattern.compile("G") });

Аргументы

  • values String[] | Pattern[]#

    Ожидаемые параметры, выбранные в данный момент.

  • options LocatorAssertions.HasValuesOptions (опционально)

    • setTimeout double (опционально)#

      Время (в миллисекундах), в течение которого повторяются попытки выполнить проверку. Значение по умолчанию — 5000.

Возвращает


isAttached

Добавлено в: v1.33 locatorAssertions.isAttached

Убеждается, что Locator указывает на элемент, который подключен к Document или ShadowRoot.

Использование

assertThat(page.getByText("Hidden text")).isAttached();

Аргументы

  • options LocatorAssertions.IsAttachedOptions (опционально)
    • setAttached boolean (опционально)#

    • setTimeout double (опционально)#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isChecked

Добавлено в: v1.20 locatorAssertions.isChecked

Убеждается, что Locator указывает на отмеченный input.

Использование

assertThat(page.getByLabel("Subscribe to newsletter")).isChecked();

Аргументы

  • options LocatorAssertions.IsCheckedOptions (опционально)
    • setChecked boolean (опционально) Добавлено в: v1.18#

      Предоставляет состояние для утверждения. По умолчанию утверждает, что input отмечен. Этот параметр нельзя использовать, когда setIndeterminate установлен в true.

    • setIndeterminate boolean (опционально) Добавлено в: v1.50#

      Утверждает, что элемент находится в неопределенном (смешанном) состоянии. Поддерживается только для чекбоксов и радиокнопок. Этот параметр не может быть true, когда setChecked предоставлен.

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isDisabled

Добавлено в: v1.20 locatorAssertions.isDisabled

Убеждается, что Locator указывает на отключенный элемент. Элемент отключен, если у него есть атрибут "disabled" или он отключен через 'aria-disabled'. Обратите внимание, что только элементы управления, такие как HTML button, input, select, textarea, option, optgroup могут быть отключены установкой атрибута "disabled". Атрибут "disabled" на других элементах игнорируется браузером.

Использование

assertThat(page.locator("button.submit")).isDisabled();

Аргументы

  • options LocatorAssertions.IsDisabledOptions (опционально)
    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isEditable

Добавлено в: v1.20 locatorAssertions.isEditable

Убеждается, что Locator указывает на редактируемый элемент.

Использование

assertThat(page.getByRole(AriaRole.TEXTBOX)).isEditable();

Аргументы

  • options LocatorAssertions.IsEditableOptions (опционально)
    • setEditable boolean (опционально) Добавлено в: v1.26#

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isEmpty

Добавлено в: v1.20 locatorAssertions.isEmpty

Убеждается, что Locator указывает на пустой редактируемый элемент или на DOM-узел, который не содержит текста.

Использование

assertThat(page.locator("div.warning")).isEmpty();

Аргументы

  • options LocatorAssertions.IsEmptyOptions (опционально)
    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isEnabled

Добавлено в: v1.20 locatorAssertions.isEnabled

Убеждается, что Locator указывает на включенный элемент.

Использование

assertThat(page.locator("button.submit")).isEnabled();

Аргументы

  • options LocatorAssertions.IsEnabledOptions (опционально)
    • setEnabled boolean (опционально) Добавлено в: v1.26#

    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isFocused

Добавлено в: v1.20 locatorAssertions.isFocused

Убеждается, что Locator указывает на сфокусированный DOM-узел.

Использование

assertThat(page.getByRole(AriaRole.TEXTBOX)).isFocused();

Аргументы

  • options LocatorAssertions.IsFocusedOptions (опционально)
    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isHidden

Добавлено в: v1.20 locatorAssertions.isHidden

Убеждается, что Locator либо не разрешается ни в один DOM-узел, либо разрешается в невидимый узел.

Использование

assertThat(page.locator(".my-element")).isHidden();

Аргументы

  • options LocatorAssertions.IsHiddenOptions (опционально)
    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isInViewport

Добавлено в: v1.31 locatorAssertions.isInViewport

Убеждается, что Locator указывает на элемент, который пересекает область просмотра, согласно API наблюдателя пересечений.

Использование

Locator locator = page.getByRole(AriaRole.BUTTON);
// Убедитесь, что хотя бы часть элемента пересекает область просмотра.
assertThat(locator).isInViewport();
// Убедитесь, что элемент полностью вне области просмотра.
assertThat(locator).not().isInViewport();
// Убедитесь, что хотя бы половина элемента пересекает область просмотра.
assertThat(locator).isInViewport(new LocatorAssertions.IsInViewportOptions().setRatio(0.5));

Аргументы

  • options LocatorAssertions.IsInViewportOptions (опционально)
    • setRatio double (опционально)#

      Минимальное соотношение элемента для пересечения области просмотра. Если равно 0, то элемент должен пересекать область просмотра при любом положительном соотношении. По умолчанию 0.

    • setTimeout double (опционально)#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


isVisible

Добавлено в: v1.20 locatorAssertions.isVisible

Убеждается, что Locator указывает на подключенный и видимый DOM-узел.

Чтобы проверить, что хотя бы один элемент из списка виден, используйте Locator.first().

Использование

// Конкретный элемент виден.
assertThat(page.getByText("Welcome")).isVisible();

// По крайней мере один элемент в списке виден.
assertThat(page.getByTestId("todo-item").first()).isVisible();

// По крайней мере один из двух элементов виден, возможно, оба.
assertThat(
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Sign in"))
.or(page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Sign up")))
.first()
).isVisible();

Аргументы

  • options LocatorAssertions.IsVisibleOptions (опционально)
    • setTimeout double (опционально) Добавлено в: v1.18#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

    • setVisible boolean (опционально) Добавлено в: v1.26#

Возвращает


matchesAriaSnapshot

Добавлено в: v1.49 locatorAssertions.matchesAriaSnapshot

Утверждает, что целевой элемент соответствует данному снимку доступности.

Использование

page.navigate("https://demo.playwright.dev/todomvc/");
assertThat(page.locator("body")).matchesAriaSnapshot("""
- heading "todos"
- textbox "What needs to be done?"
""");

Аргументы

  • expected String#
  • options LocatorAssertions.MatchesAriaSnapshotOptions (опционально)
    • setTimeout double (опционально)#

      Время для повторной попытки утверждения в миллисекундах. По умолчанию 5000.

Возвращает


Свойства

not()

Добавлено в: v1.20 locatorAssertions.not()

Делает проверку утверждения на противоположное условие. Например, этот код проверяет, что Locator не содержит текст "error":

assertThat(locator).not().containsText("error");

Использование

assertThat(locator).not()

Возвращает