2014-12-17 19 views
6

Tôi đang sử dụng bảng bên dưới. Trong đó tôi muốn kiểm tra từng thẻ (th, thẻ td), Văn bản trong các thẻ đó và đếm văn bản đó. HTML đoạn mãThước đo tiêu đề bảng kiểm tra e2e Thước đo và <tr>, <td> thẻ

<table class="table table-striped"> 
    <tbody> 
     <tr> 
     <th><b><a ng-href="" ng-click="predicate='id';reverse=!reverse">Patient Id</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='accountNumber';reverse=!reverse" class="">Account Number</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='title';reverse=!reverse">Title</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='firstName';reverse=!reverse">First Name</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='lastName';reverse=!reverse">Last Name</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='middleName';reverse=!reverse">Middle Name</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='sex';reverse=!reverse">Sex</a></b></th> 
     <th><b><a ng-href="" ng-click="predicate='dob';reverse=!reverse">Dob</a></b></th>   
     </tr> 

     <tr ng-repeat="listItem in filteredListItems | orderBy:predicate:reverse" ng-class="rowClass(listItem)" class="ng-scope"> 
     <td class="ng-binding">10</td> 
     <td class="ng-binding">Tam</td> 
     <td class="ng-binding">Mr.</td> 
     <td class="ng-binding">Tam</td> 
     <td class="ng-binding">Vinh</td> 
     <td class="ng-binding">J.</td> 
     <td class="ng-binding">F</td> 
     <td class="ng-binding"></td> 
     <td><a ng-href="#/detailView/patients/10" href="#/detailView/patients/10">Details</a></td> 
     <td><button ng-click="deleteRecord(10)" class="btn btn-danger btn-xs"><span class="glyphicon glyphicon-remove"></span> Delete</button></td> 
     </tr> 

    <tr ng-repeat="listItem in filteredListItems | orderBy:predicate:reverse" ng-class="rowClass(listItem)" class="ng-scope"> 
     <td class="ng-binding">12</td> 
     <td class="ng-binding">Tam12</td> 
     <td class="ng-binding">Mr.</td> 
     <td class="ng-binding">Steve</td> 
     <td class="ng-binding">John</td> 
     <td class="ng-binding">A.</td> 
     <td class="ng-binding">F</td> 
     <td class="ng-binding"></td> 
     <td><a ng-href="#/detailView/patients/12" href="#/detailView/patients/12">Details</a></td> 
     <td><button ng-click="deleteRecord(12)" class="btn btn-danger btn-xs"><span class="glyphicon glyphicon-remove"></span> Delete</button></td> 
     </tr> 
    </tbody> 
</table> 

tôi đã cố gắng như thế này, nhưng nó không làm việc.

it('Patient Page text testing', function(){ 

     var table = element(by.css('.table')); 
    var firsttag = table.element(by.tagName('tbody')); 
    var secondtag = firsttag.all(by.tagName('tr')).get(0); 
    var thirdtag = secondtag.all(by.tagName('th')).get(0);   
    expect(element(by.xpath('//b/a')).getText()).toEqual('Patient Id'); 
    var thirdtag = secondtag.all(by.tagName('th')).get(1);   
    expect(element(by.xpath('//b/a')).getText()).toEqual('Account Number'); 
}); 

Trong thử nghiệm ở trên, kỳ vọng đang hoạt động nhưng kỳ vọng thứ hai không hoạt động.

Lỗi:

Message: 
Expected 'Patient Id' to equal 'Account Number'. 

Vẫn trong sự mong đợi thứ hai nó là hy vọng 'Id Bệnh nhân'. Tôi không có nơi tôi đã làm sai.

Trả lời

4

Thay vào đó, tất cả tiêu đề sử dụng và sử dụng element.all()map() để khẳng định danh sách trong một đi:

var headers = element.all(by.css('table.table th a')).map(function(elm) { 
    return elm.getText(); 
}); 

expect(headers).toEqual([ 
    "Patient Id", 
    "Account Number", 
    "Title", 
    "First Name", 
    "Last Name", 
    "Middle Name", 
    "Sex", 
    "Dob" 
]); 
+0

** Count: ** var list = element.all (by.css ('th a')); \t mong đợi (list.count()). ToBe (8); – NNR

+0

** Tiêu đề riêng lẻ: ** var test = element.all (by.css ('th a')). Get (2); \t mong đợi (test.getText()). ToBe ('Tiêu đề'); – NNR

Các vấn đề liên quan