4

フー君、

HTMLページのリストにあるリンクをクリックしたいときに問題があります。これが私のhtmlです:

<h3>{{snapshot.contractKey}}&nbsp;</h3>
    <ul class="nav nav-pills nav-stacked">
                <li><a id="documentLink" href="" ng-click="checkAndRedirect('/document1/')"><span translate="contractDetail.document1"> Document</span>&nbsp;<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>&nbsp;<i class="fa fa-list-ul"></i></a></li>
                <li><a id="revisionsLink" href="" ng-click="checkAndRedirect('/document3/')"> <span translate="contractDetail.document3"> Revisions </span>&nbsp;<i class="fa fa-exchange"></i></a></li>
                <li><a id="auditTrailLink" href="" ng-click="checkAndRedirect('/document4/')"> <span translate="contractDetail.document4"> Audit Trail</span>&nbsp;<i class="fa fa-tasks"></i></a></li>
                <li><a id="actionHistoryLink" href="" ng-click="checkAndRedirect('/document5/')"> <span translate="contractDetail.document5">Action History </span>&nbsp;<i class="fa fa-clock-o"></i></a></li>
     </ul>

分度器テストでリンクを ID でクリックしようとすると、エラーNo such elementまたはElement is not visible が表示されます。

ここに私のコードのテスト行があります:

element(by.id('documentLink')).click();

なぜそれが悪い解決策であり、どうすればよいか知っていますか?

私がこれを行うとき:

element.all(by.tagName('a')).then(function(results){ 
        expect(results.length).toEqual(5);
  });

彼は私にそれが正しいと返し、ページには5つのリンクがあります. しかし、ID でアクセスしようとすると、アクセスできませんか?

4

1 に答える 1