Не волшебник, но вы должны получить ошибку 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 будет использовать $ соответственно $$ ( элемент и элементы ). Но хотел дать вам более широкую перспективу.