Транспортир: Попытка проверить, не отображается ли элемент на странице (с помощью.count())

У меня изначально это работало, но я начал использовать Gulp и Lint, так что теперь мне нужно изменить подход к этому. Я проверяю, есть ли у пользователя отображение одной валюты или нескольких валют. Если у пользователя есть только одна валюта (например, "EUR"), то div называется "nav-tabs au-target" show.bind="positions.length > 1" au-target-id="37" не будет отображаться на странице.

Это код из файла объекта страницы

if(text.indexOf("EUR") >-1 && text.indexOf("GBP") ===-1 && text.indexOf("USD") ===-1){
expect(element(by.css("nav-tabs au-target")).count()).toBe(0);}

По сути, он проверяет, отображается ли "EUR", а затем ожидать "div nav-tabs au-target" не присутствовать. Когда я запускаю этот код, я получаю следующую ошибку Failed: element(...).count is not a function Спасибо за любую помощь

1 ответ

Решение

Здесь нет .count() метод на ElementFinder экземпляр (результат element()). count() это метод ElementArrayFinder экземпляр (результат element.all()).

Обратите внимание, что если бы вы использовали ESLint JavaScript линтер с eslint-plugin-protractor плагин (бесстыдная самореклама), вы могли бы уловить проблему раньше - во время кодирования, без фактического выполнения тестов:

Другие вопросы по тегам