Транспортир: Попытка проверить, не отображается ли элемент на странице (с помощью.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
плагин (бесстыдная самореклама), вы могли бы уловить проблему раньше - во время кодирования, без фактического выполнения тестов: