我有一个量角器测试,我在其中创建一个用户,然后将其添加到用户表中。然后我想找到创建的用户并单击编辑/删除按钮。用户可以在任何行中,因此我不想将测试硬编码到特定行,以防它不在指定行中。
HTML
<tr ng-repeat="user in users | orderBy:sortType:sortReverse | filter:query track by $index">
<td class="text-center" title="{{$index + 1}}"><span class="section-index" id="index">{{$index + 1}}</span></td>
<td title="{{user.username}}">{{user.username}}</td>
<td title="{{user.email}}">{{user.email}}</td>
<td title="Role">
<span class="label" ng-class="{'admin': user.role.name == 'ROLE_ADMIN',
'user': user.role.name == 'ROLE_USER', 'trainer': user.role.name == 'ROLE_TRAINER',
'reviewer': user.role.name == 'ROLE_REVIEWER'}">
{{user.role.name | roleFilter: true}}
</span>
</td>
<td title="Created">{{user.creationDate | date:"dd MMM yyyy"}}</td>
<td class="text-center" title="Edit">
<span class="btn-details standard pull-right" ng-click="editUserClicked(user.id)">Edit</span>
</td>
<td title="Delete">
<span class="btn-details warning pull-right" ng-click="deleteUserClicked(user)">Delete</span>
</td>
</tr>
用户spec.js
var editedUserCell = element(by.css('td[title="' + EDITED_EMAIL + '"]')).getWebElement();
var deleteButton = editedUserCell.getDriver().findElement(by.css('[ng-click="deleteUserClicked(user)"]'));
使用http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.getDriver中的示例,它会找到页面上的第一个按钮,而不是父级内的那个按钮,任何人都可以帮忙吗?