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

expect для элементов

toBeDisplayed

Вызывает isDisplayed на заданном элементе.

Например:

const elem = await browser.$("#someElem");
await expect(elem).toBeDisplayed();

toExist

Вызывает isExisting на заданном элементе.

Например:

const elem = await browser.$("#someElem");
await expect(elem).toExist();

toBePresent

То же, что и toExist.

Например:

const elem = await browser.$("#someElem");
await expect(elem).toBePresent();

toBeExisting

То же, что и toExist.

Например:

const elem = await browser.$("#someElem");
await expect(elem).toBeExisting();

toBeFocused

Проверяет, есть ли фокус на элементе. Это утверждение работает только в веб-контексте.

Например:

const elem = await browser.$("#someElem");
await expect(elem).toBeFocused();

toHaveAttribute

Проверяет, есть ли у элемента атрибут с заданным значением.

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveAttribute("class", "form-control");

toHaveAttr

То же, что и toHaveAttribute.

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveAttr("class", "form-control");

toHaveAttributeContaining

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

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveAttributeContaining("class", "form");

toHaveAttrContaining

То же, что и toHaveAttributeContaining.

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveAttrContaining("class", "form");

toHaveElementClass

Проверяет, есть ли у элемента заданное имя класса.

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveElementClass("form-control", { message: "Not a form control!" });

toHaveElementClassContaining

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

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveElementClassContaining("form");

toHaveElementProperty

Проверяет, есть ли у элемента указанное свойство с заданным значением.

Например:

const elem = await browser.$("#elem");
await expect(elem).toHaveElementProperty("height", 23);
await expect(elem).not.toHaveElementProperty("height", 0);

toHaveValue

Проверяет, имеет ли input-элемент заданное значение.

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveValue("user", { ignoreCase: true });

toHaveValueContaining

Проверяет, есть ли заданная подстрока в значении указанного input-элемента.

Например:

const myInput = await browser.$("input");
await expect(myInput).toHaveValueContaining("us");

toBeClickable

Проверяет, можно ли щелкнуть по элементу с помощью вызова isClickable.

Например:

const elem = await browser.$("#elem");
await expect(elem).toBeClickable();

toBeDisabled

Проверяет, отключен ли элемент с помощью вызова isEnabled.

Например:

const elem = await browser.$("#elem");
await expect(elem).toBeDisabled();
// или, что то же самое:
await expect(elem).not.toBeEnabled();

toBeEnabled

Проверяет, включен ли элемент с помощью вызова isEnabled.

Например:

const elem = await browser.$("#elem");
await expect(elem).toBeEnabled();
// или, что то же самое:
await expect(elem).not.toBeDisabled();

toBeSelected

Проверяет, выбран ли элемент с помощью вызова isSelected.

Например:

const elem = await browser.$("#elem");
await expect(elem).toBeSelected();

toBeChecked

То же, что и toBeSelected.

Например:

const elem = await browser.$("#elem");
await expect(elem).toBeChecked();

toHaveHref

Проверяет, есть ли заданный адрес у ссылки элемента.

Например:

const link = await browser.$("a");
await expect(link).toHaveHref("https://webdriver.io");

То же, что и toHaveHref.

Например:

const link = await browser.$("a");
await expect(link).toHaveLink("https://webdriver.io");

toHaveHrefContaining

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

Например:

const link = await browser.$("a");
await expect(link).toHaveHrefContaining("webdriver.io");

toHaveLinkContaining

То же, что и toHaveHrefContaining.

Например:

const link = await browser.$("a");
await expect(link).toHaveLinkContaining("webdriver.io");

toHaveId

Проверяет, есть ли у элемента заданный ID.

Например:

const elem = await browser.$("#elem");
await expect(elem).toHaveId("elem");

toHaveText

Проверяет, совпадает ли текст элемента с заданным значением.

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

Например:

await browser.url("https://webdriver.io/");
const elem = await browser.$(".container");
await expect(elem).toHaveText("Next-gen browser and mobile automation test framework for Node.js");
await expect(elem).toHaveText([
"Next-gen browser and mobile automation test framework for Node.js",
"Get Started",
]);

toHaveTextContaining

Проверяет, содержит ли текст элемента заданное значение в качестве подтекста.

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

Например:

await browser.url("https://webdriver.io/");
const elem = await browser.$(".container");
await expect(elem).toHaveTextContaining("browser and mobile automation test framework");
await expect(elem).toHaveTextContaining([
"browser and mobile automation test framework",
"Started",
]);

toBeDisplayedInViewport

Проверяет, находится ли элемент в пределах области просмотра (viewport), используя команду isDisplayedInViewport.

Например:

const elem = await browser.$("#elem");
await expect(elem).toBeDisplayedInViewport();

toHaveChildren

Проверяет количество дочерних элементов заданного элемента, используя команду element.$('./*').

Например:

const list = await browser.$("ul");
await expect(list).toHaveChildren(); // в списке есть как минимум 1 элемент
// или, что то же самое:
await expect(list).toHaveChildren({ gte: 1 });
await expect(list).toHaveChildren(3); // в списке есть 3 элемента
// или, что то же самое:
await expect(list).toHaveChildren({ eq: 3 });

toBeElementsArrayOfSize

Проверяет количество полученных элементов с помощью команды $$.

Например:

const listItems = await browser.$$("ul>li");
await expect(listItems).toBeElementsArrayOfSize(5); // 5 элементов в списке
await expect(listItems).toBeElementsArrayOfSize({ lte: 10 });
// или, что то же самое:
assert.ok(listItems.length <= 10);