我有一张我要测试的笔记表。
<table class="table" ng-if="!NotesCtrl.loadingNotes && (NotesCtrl.notes | filter: { client : ClientCtrl.client.id }).length">
<tr class="noteTableItem" ng-repeat="note in NotesCtrl.notes | filter: { client : ClientCtrl.client.id } track by note.id" ng-click="NotesCtrl.showNote(note.id)">
<td>{{ note.title }}</td>
<td>{{ note.created | date: 'dd-MM-yyyy - HH:mm' }}</td>
</tr>
</table>
当我编写一个测试以查看是否只有一行时,它会通过:
it('should see one note-item', function(){
var notes = element.all(by.css('.noteTableItem'));
expect(notes.count()).toEqual(1);
});
当我想要点击第一个音符时,要触发ng-click
,它会失败并显示以下消息:
it('should click the first item', function(){
var notes = element.all(by.css('.noteTableItem'));
expect(notes.count()).toEqual(1);
notes.first().click();
expect(noteDialog.isDisplayed());
});
失败:无法将元素
<tr class="noteTableItem ng-scope">
滚动到视图中
如何使用量角器点击第一项? (当我使用列表<ul></ul>
时, 工作...)
答案 0 :(得分:0)
尝试使用xpath:
element(by.xpath("//table/tr/td[0]")).click();
或
$$("table tr td").get(0).click();
答案 1 :(得分:0)
使用如下所示的executeScript方法(本机javaScript)滚动视图中的对象:
var elem= element(locatorCss('Locator definition'));
browser.executeScript("arguments[0].scrollIntoView();", elem.getWebElement()).then(function(){
elem.click().then(function () {
console.log("Object Clicked!!!");
});
});