Выпустить нажатие на ионную кнопку с транспортиром
В 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>