我正在尝试测试我的表格的内容,我需要遍历所有行和列才能完成此操作。我目前的代码是:
it('test', function () {
var appRowLocator = by.repeater('appRow in model.getAppList()');
browser.wait(function () {
return element(appRowLocator).isPresent();
}, 1000);
var i = 0;
element.all(appRowLocator).then(function(rows){
expect(rows.length).toBe(2);
while(i < 2){
rows[i].all(by.tagName('td')).then(function(cols){
expect(cols.length).toBe(8);
expect(cols[0].getText()).toBe(summary.applicationSummaries[i].application.name);
expect(cols[2].getText()).toBe("");
});
i++;
}
})
});
我正在访问单元格的内容,但测试仍然失败,因为计数器在 rows[i].all(....) 内递增。我的行长度是预期的两个,并且期望通过了,但我仍然很困惑为什么计数器在 rows[i].all(...) 内也增加。我得到的错误是:
失败:无法读取未定义的属性“应用程序”
这是因为它试图访问索引为 2 的应用程序,而数组中没有该元素。