Использование пользовательского помощника appium из документов не дает доступа к функциям appium, для большинства функций не возникает ошибка функции.

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

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

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

Итак, мы вызываем:

пусть браузер = 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 со всеми включенными функциями...


person Community    schedule 02.07.2019    source источник


Ответы (1)


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

  2. Помощник Appium является оболочкой для оболочки webdriverio Appium. Он может отличаться от оригинального Appium. См. его API здесь.

person Evgeny Lukoyanov    schedule 03.07.2019
comment
Я бы отметил это ответом, но у меня только 14 повторений gg. - person ; 09.07.2019
comment
Если ответ помог, вы можете принять его. stackoverflow.com/help/someone-answers - person Evgeny Lukoyanov; 09.07.2019