2015-11-24 4 views
3

Надеюсь, вы могли бы мне помочь. Я новичок в транспортир. Я не могу щелкнуть элемент в транспортнике, он говорит, что его не видно, даже если его видно, когда он проверяется вручную. Ниже приведены детали:Транспортир - Элемент не виден (но видно, если его проверить вручную)

CSS код:

<div class="list" ng-click="openOtherUsers(perCrisis)" ng-show="detailView"> 
<div class="item item-input-inset content-bg search-bar"> 
<button class="button button-clear" type="button"> 
<i class="icon ion-chevron-right"></i> 
</button> 
<label class="item-input-wrapper"> 
<i class="icon acc-search placeholder-icon"></i> 
<input class="ng-pristine ng-untouched ng-valid" type="text" placeholder="Search for people" ng-model="search.keywords"> 
</label> 
</div> 
</div> 

транспортир Код:

it("this is a trail for SEARCH click", function() { 
    browser.waitForAngular(); 
    var search = element(by.css('.list.list')); 
    //expect(search.isPresent()).toBeTruthy(); <<<<< PRESENT, but if  //isDisplayed is used: its false 
    search.click(); 
}); 

FYI: родительский класс список, я также попытался использовать "список"/«[нг-клик = "openOtherUsers (perCrisis)"] "/" [ng-show = "detailView"] "в качестве css-локатора.

Надеюсь, вы могли бы помочь мне в этом. Спасибо.

+0

любые достижения по этому вопросу? –

ответ

0

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

Другое дело, что может помочь это ждать - мы будем wait for the element to become visible:

var search = element(by.css('[ng-click="openOtherUsers(perCrisis)"]')), 
    EC = protractor.ExpectedConditions; 

browser.wait(EC.visibilityOf(search), 5000); 

search.click(); 
+0

привет @ alecxe. Спасибо за ответ, оцените его. Но это не сработало, даже увеличило время ожидания до 20 секунд, но все равно этого не произошло. –

+0

@MerBoyAnthonyDuran вы уверены, что этот элемент является единственным, подходящим локатору - вы получаете предупреждения во время тестового прогона? Спасибо – alecxe

+0

Привет @alecxe. Я на самом деле пытался получить все элементы, а затем щелкнуть первый найденный элемент, но он все еще не работает. У меня на самом деле много элементов, которые при нажатии кнопки Element не видны. Я новичок в транспортир, поэтому у меня действительно нет идеи справиться с этим. Большое вам спасибо за помощь. –

0

Вы можете попробовать использовать «действия», чтобы переместить курсор к элементу, а затем выполнить щелчок()

browser.actions().mouseMove(search, 1, 1).perform().then(function(){elem.click()}); 
+0

Hi @CodeRJ. Спасибо за ответ. Попробовал, но он все еще возвращает элемент, который не виден. –

Смежные вопросы