我有一个包含多行的网络表。我想检索那些数据并验证。但由于某种原因,我的方法只返回第一行的值。有人可以说出错了吗?
方法:
validatePolicyVersionTable(){
return element.all(by.repeater('row in table.filtered track by table.idPropertyFn(row)')).then(numOfRows=>{
let length = numOfRows.length;
let tableDataArray = [];
for (let i = 0; i < length; i++) {
let rows= element(by.repeater('row in table.filtered track by table.idPropertyFn(row)').row(i));
let cells = rows.all(by.tagName('td'));
tableDataArray= cells.map(cellText=>{
return cellText.getText();
});
}
return tableDataArray;
})
}
答案 0 :(得分:0)
我会做这样的事情
validatePolicyVersionTable() {
const rows = element.all(by.repeater('row in table.filtered track by table.idPropertyFn(row)'));
return rows.map((row) => row.$$('td').getText());
}
&#13;
如果您要获取ElementArrayFinder
的文本,则会返回一个字符串数组(row.$$('td').getText()
)。你的结果可能是这样的
[
['row1CellText1', 'row1CellText2', 'row1CellText3'],
['row2CellText1', 'row2CellText2', 'row2CellText3'],
['row3CellText1', 'row3CellText2', 'row3CellText3']
]