Ошибка при попытке установить getText в WebdriverIO - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь утвердить текст, который виден на оверлейной странице медиагалереи. Все, что я хочу, это чтобы код проверял, присутствует ли текст, и если да, то он соответствует ожидаемому тексту.

По какой-то причине я продолжаю получать неудачные тесты. Ниже приведен код, который я написал в визуальном коде:

let expSuccessARMessage = "See it in Your Space (Augmented Reality) is currently only available using an AR compatible Apple device (iOS 12 or above)."
let successARMessage = browser.getText(page.pageElements.arMessage);

console.log(successARMessage);
assert(successARMessage === expSuccessARMessage, 'Success message');

Что мне здесь не хватает?

1 Ответ

1 голос
/ 12 января 2020

Не волшебник, но вы должны получить ошибку browser.getText is not a function в консоли, потому что метод getText() определен внутри объекта element, а не объекта browser. Прочитайте полный журнал API здесь .

Итак, ваш код должен быть:

let expectedText = "Your long text here"
let foundText = $(page.pageElements.arMessage).getText();
// Considering 'page.pageElements.arMessage' is a valid selector for targeted element

console.log(`Found the following text: ${foundText}`);
assert.equal(expectedText, foundText, 'This is actually the ERROR message');

Я хочу добавить к ответу что также может быть подход browser object centri c с использованием API протокола webdriver . Таким образом, наш код становится:

let expectedText = "Your long text here"
let elementObject = browser.findElement('css selector', page.pageElements.arMessage);
// Considering 'page.pageElements.arMessage' is a valid selector for targeted element
let foundText = browser.getElementText(elementObject.ELEMENT);

console.log(`Found the following text: ${foundText}`);
assert.equal(expectedText, foundText, 'This is actually the ERROR message');

Последний подход устарел ИМХО, и рекомендуемый подход для WebdriverIO v5 будет использовать $ соответственно $$ ( элемент и элементы ). Но хотел дать вам более широкую перспективу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...