Ху ребята,
У меня проблема, когда я хочу щелкнуть ссылку, которая находится в списке на странице html. Вот мой html:
<h3>{{snapshot.contractKey}} </h3>
<ul class="nav nav-pills nav-stacked">
<li><a id="documentLink" href="" ng-click="checkAndRedirect('/document1/')"><span translate="contractDetail.document1"> Document</span> <i class="fa fa-file-text"></i></a></li>
<li class="active"><a id="detailsLink" href="" ng-click="checkAndRedirect('/document2/')"> <span translate="contractDetail.document2"> Details</span> <i class="fa fa-list-ul"></i></a></li>
<li><a id="revisionsLink" href="" ng-click="checkAndRedirect('/document3/')"> <span translate="contractDetail.document3"> Revisions </span> <i class="fa fa-exchange"></i></a></li>
<li><a id="auditTrailLink" href="" ng-click="checkAndRedirect('/document4/')"> <span translate="contractDetail.document4"> Audit Trail</span> <i class="fa fa-tasks"></i></a></li>
<li><a id="actionHistoryLink" href="" ng-click="checkAndRedirect('/document5/')"> <span translate="contractDetail.document5">Action History </span> <i class="fa fa-clock-o"></i></a></li>
</ul>
Когда я хочу щелкнуть ссылку по ее идентификатору в тесте транспортира, отображается ошибка Нет такого элемента или Элемент не виден.
Вот моя тестовая строка кода:
element(by.id('documentLink')).click();
Знаете ли вы, почему это плохое решение и что делать?
Когда я делаю это:
element.all(by.tagName('a')).then(function(results){
expect(results.length).toEqual(5);
});
он возвращает мне, что это правильно, и на странице есть 5 ссылок. Но когда я пытаюсь получить к ним доступ по ID, я не могу этого сделать?
expect(element(by.id('documentLink')).isDisplayed()).toBe(true);
? - person glepretre   schedule 22.05.2014