2017-09-12 1 views
0

Bitte führen Sie mich durch verschiedene Seiten der Paginierung mit Winkelmesser, ich folgte diesem Blog: http://seleniumhome.blogspot.com/2013/07/how-can-we-automate-pagination-using.html, leider funktioniert der Code nicht. Hier ist der Code aus meiner Anwendung:So testen Sie die Paginierungsfunktion mit dem Winkelmesser

<div class="vertical-align"> 
<ul class="pagination no-margins"> 
<li class="arrow unavailable" ng-class="{unavailable: currentPage === 0 || pagedRowsTotal.length == 0}"> 
<a class="ng-binding" ng-click="loadPage(0)" ng-bind-html="rsPaginatorText.first">First</a> 
</li> 
<li class="arrow unavailable" ng-class="{unavailable: currentGroup === 1 || pagedRowsTotal.length == 0}"> 
<li class="arrow unavailable" ng-class="{unavailable: currentPage === 0 || pagedRowsTotal.length == 0}"> 
<a class="ng-binding" ng-click="loadPage(currentPage - 1)" ng-bind-html="rsPaginatorText.previous">Previous</a> 
</li> 
<!-- ngRepeat: page in groupArray track by $index --> 
<li class="ng-scope current" ng-class="{current: page === (currentPage + 1)}" ng-repeat="page in groupArray track by $index"> 
<a class="ng-binding" ng-click="loadPage(page-1)">1</a> 
</li> 
<!-- end ngRepeat: page in groupArray track by $index --> 
<li class="ng-scope" ng-class="{current: page === (currentPage + 1)}" ng-repeat="page in groupArray track by $index"> 
<a class="ng-binding" ng-click="loadPage(page-1)">2</a> 
</li> 
<!-- end ngRepeat: page in groupArray track by $index --> 
<li class="ng-scope" ng-class="{current: page === (currentPage + 1)}" ng-repeat="page in groupArray track by $index"> 
<a class="ng-binding" ng-click="loadPage(page-1)">3</a> 
</li> 
<!-- end ngRepeat: page in groupArray track by $index --> 
<li class="ng-scope" ng-class="{current: page === (currentPage + 1)}" ng-repeat="page in groupArray track by $index"> 
<a class="ng-binding" ng-click="loadPage(page-1)">4</a> 
</li> 
<!-- end ngRepeat: page in groupArray track by $index --> 
<li class="ng-scope" ng-class="{current: page === (currentPage + 1)}" ng-repeat="page in groupArray track by $index"> 
<a class="ng-binding" ng-click="loadPage(page-1)">5</a> 
</li> 
<!-- end ngRepeat: page in groupArray track by $index --> 
<li class="arrow" ng-class="{unavailable: currentPage === pagedRowsTotal.length -1}"> 
<a class="ng-binding" ng-click="loadPage(currentPage + 1)" ng-bind-html="rsPaginatorText.next">Next</a> 
</li> 
<li class="arrow" ng-class="{unavailable: currentGroup === groupsTotal}"> 
<li class="arrow" ng-class="{unavailable: currentPage === pagedRowsTotal.length -1}"> 
<a class="ng-binding" ng-click="loadPage(pagedRowsTotal.length - 1)" ng-bind-html="rsPaginatorText.last">Last</a> 
</li> 
</ul> 

Das ist, was ich versuchte, aber erhalte einen Fehler:

this.getPaginationsize = element.all(by.repeater('page in groupArray track by $index')); 

summaryPage.getPaginationsize.getSize().then(function (pagination) { 
      if (pagination > 0) { 

       for (var i = 0; i < pagination; i++) { 
        summaryPage.getPaginationsize.get(i).click(); 
       } 
      } else { 
       console.log('Pagination not exists'); 
      } 
     }); 

Failed: Cannot convert object to primitive value 

Antwort

1

summaryPage.getPaginationsize.getSize() Methode wird ein Objekt mit einer Höhe und Breite eines webelement zurück. Stattdessen müssen Sie summaryPage.getPaginationsize.count() verwenden, um die Gesamtanzahl von pageSize zu erhalten.

Referenz:

getSize(): http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.getSize count(): http://www.protractortest.org/#/api?view=ElementArrayFinder.prototype.count

+0

Sudharsan Danke, dass ich weiß, Graf zu verwenden() -Methode Nun ist die WebDriver wird durch Klicken auf die Paginierung auf verschiedenen Seiten navigieren, aber wenn es erreicht Die letzte Seite hat einen Fehler, dass das Element nicht sichtbar ist. – Smitha