Выпустить нажатие на ионную кнопку с транспортиром

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

  • когда я пытаюсь пройти через это element(by.id("toolButton")) Я получаю предупреждение о том, что таких объектов несколько, и транспортир возьмет первый. Затем, когда я выполняю щелчок, я получаю сообщение о том, что элемент не виден. С browser.wait(EC.visibilityOf(btn), 5000) Я получаю тайм-аут. Копаясь в Chrome, кажется, что есть 2 экземпляра страницы: один с <div class="nav-bar-block" nav-bar="active"> и еще один с nav-bar="cached" вместо "active", Так что я думаю, что транспортир ловит кэшированный экземпляр. (кстати, я не знаю, почему существует версия кеша, мой UI-роутер говорит cache:false для каждого государства).

  • когда я использую Elementor, чтобы найти способ уникальной идентификации кнопки, он говорит мне log: "Cannot find suggestions",

Любая идея, чтобы справиться с этим, пожалуйста?

Ниже вы найдете скриншот панели инструментов и фрагмент кода HTML, показывающий 2 экземпляра панели инструментов. Эта кнопка помечена знаком "+".

скриншот панели инструментов заголовка

<ion-nav-bar class="bar-balanced ng-class:$root.backgroundClass nav-bar-container contact-background" nav-bar-transition="ios" nav-bar-direction="forward" nav-swipe="" style="">
  <ion-nav-back-button class="hide"></ion-nav-back-button>
  <ion-nav-buttons side="left" class="hide"></ion-nav-buttons>
  <ion-nav-buttons side="right" class="hide"></ion-nav-buttons>

  <div class="nav-bar-block" nav-bar="active">
    <ion-header-bar class="bar-balanced ng-class:$root.backgroundClass bar bar-header contact-background" align-title="center" style="">
      <button ng-click="$ionicGoBack()" class="button back-button buttons button-clear header-item"><i class="icon ion-ios-arrow-back"></i>          
        <span class="back-text" style="transform: translate3d(0px, 0px, 0px);"><span class="default-title hide">Back</span>
        <span class="previous-title">Accueil</span></span>
      </button>
      <div class="buttons buttons-left header-item"><span class="left-buttons">
        <button id="leftMenuBtn" class="button button-icon button-clear ion-navicon" menu-toggle="left">
        </button></span>
      </div>
      <div class="title title-center header-item" style="transform: translate3d(0px, 0px, 0px); left: 114px; right: 114px;"><span class="nav-bar-title">
        <i class="icon ion-person"></i> Contacts</span>
      </div>
      <div class="buttons buttons-right header-item"><span class="right-buttons">
        <button id="toolButton" class="button button-icon button-clear ng-class:$root.toolButtonIcon ion-plus" ng-click="$root.toolClick()" style=""></button>
        <button class="button button-icon button-clear ion-ios-film" menu-toggle="right" ng-disabled="$root.getLogin() == null"></button></span>
      </div>
    </ion-header-bar>
  </div>

  <div class="nav-bar-block" nav-bar="cached">
    <ion-header-bar class="bar-balanced ng-class:$root.backgroundClass bar bar-header contact-background" align-title="center" style="">
      <button ng-click="$ionicGoBack()" class="button back-button hide buttons  button-clear header-item" style="opacity: 0;"><i class="icon ion-ios-arrow-back"></i>          
        <span class="back-text" style="transform: translate3d(0px, 0px, 0px); opacity: 0;"><span class="default-title">Back</span>
        <span class="previous-title hide"></span></span>
      </button>
      <div class="buttons buttons-left header-item" style="opacity: 0;"><span class="left-buttons">
        <button id="leftMenuBtn" class="button button-icon button-clear ion-navicon" menu-toggle="left">
        </button></span>
      </div>
      <div class="title title-center header-item" style="left: 56px; right: 56px; transform: translate3d(-123.172px, 0px, 0px); opacity: 0;"><span class="nav-bar-title">
        <i class="icon ion-home"></i> Accueil</span>
      </div>
      <div class="buttons buttons-right header-item" style="opacity: 0;"><span class="right-buttons">
        <button id="toolButton" class="button button-icon button-clear ng-class:$root.toolButtonIcon ion-plus" ng-click="$root.toolClick()"></button>
        <button class="button button-icon button-clear ion-ios-film" menu-toggle="right" ng-disabled="$root.getLogin() == null"></button>
          </span></div></ion-header-bar></div></ion-nav-bar>

0 ответов

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