Использование appium custom helper из docs, не дает доступа к функциям appium, ошибка "is not a function" для большинства функций - PullRequest
0 голосов
/ 02 июля 2019

Чего мне не хватает?

Я пытаюсь написать собственный помощник, который проверяет наличие 4 элементов, а затем отправляет другую команду в зависимости от того, какой элемент присутствует.

Для этого нам потребовался специальный помощник в соответствии с документацией codeceptjs https://codecept.io/helpers/Appium.

Итак, мы звоним:

let browser = this.helpers ['Appium']. Browser

Но, к сожалению, это не работает так, как задокументировано, это не дает доступа почти к любой из функций Appium, документированных на их сайте http://appium.io/docs/en/about-appium/api/

Итак, когда мы попробуем:

async checkElement(locator) {
let client = this.helpers['Appium'].browser;
        let elementResult = await client.$$(locator).isEnabled();
}

Все эти команды выдают ошибку, которая говорит что-то вроде этого:

browser. $ (...). IsEnabled не является функцией

Согласно документам codeceptjs ... это должен быть клиент appium со всеми этими функциями ...

1 Ответ

0 голосов
/ 03 июля 2019
  1. client.$$(locator) возвращает массив найденных элементов.Массив в JavaScript не имеет функции isEnabled().Вы можете использовать $(locator) для поиска первого элемента или $$(locator)[0].$ выдает исключение, если элемент не найден, $$(...)[0] выдает индекс связанного исключения, если элементы не были найдены (массив длиной 0).Сначала используйте, если элемент должен быть одиночным на странице.

  2. Помощник Appium - это оболочка для webdriverio Appium.Может отличаться от оригинального Appium.См. Это API здесь .

...