ПРОТРАКТОР - Ошибка: element.all не является функцией

У меня проблема с использованием функции element.all. Я предполагаю, что у него проблемы с идентификатором. Я знаю, что идентификатор следует использовать только один раз, но я тестирую только программное обеспечение и не имею возможности изменить этот идентификатор на класс. Так что, возможно, есть решение получить его с помощью element.all, а затем обработать с помощью функции индекса.

let buttons = element.all(by.id('wanted id'));

Когда вызывается этот фрагмент кода. Он говорит:

element.all is not a function.

Когда я использую только элемент, он работает, но я не могу использовать функцию индекса.

Спасибо за вашу помощь


person Inuff    schedule 07.02.2018    source источник
comment
Вы не закрывали скобку в buttons.   -  person Kacper    schedule 07.02.2018
comment
ой извините, в исходном фрагменте они закрыты. В противном случае транспортир не запустился.   -  person Inuff    schedule 07.02.2018
comment
хм, этот фрагмент кода выглядит правильно. Вы можете вставить еще код?   -  person Kacper    schedule 07.02.2018
comment
Пожалуйста, посмотрите мой ответ ниже. Это сработало для меня.   -  person Inuff    schedule 07.02.2018


Ответы (1)


Я мог бы решить проблему, используя все, без элемента раньше.

all(by.id('wanted id')).then( elem => {
      ...
});
person Inuff    schedule 07.02.2018
comment
Я не понимаю, как это у вас работает? all - это метод ElementArrayFinder прототипа. Кроме того, что бы это ни стоило, вы могли бы использовать by.css, т.е. element.all(by.css('#my-id')); - person Gunderson; 07.02.2018
comment
Я также очень смущен, единственная возможная причина заключается в том, что ваш код переназначен как global.all = element.all. В официальном API транспортира есть только element.all нет all - person yong; 08.02.2018
comment
Вы оба правы. В документации вы можете найти только element.all, который не сработал. Почему это работает, я не могу вам сказать. Но это работает. @Gunderson Я тоже попробую с CSS. - person Inuff; 08.02.2018