我编写了一个函数,它读取ag-grid中的给定列并将其存储在数组中。
getSortedText(columnName: string){
var testArrayAsc = [];
element.all(by.css('div.ag-body-container > [role="row"]')).then(function(count) {
console.log("Row Count= ", Object.keys(count).length);
for (let rowNo = 0; rowNo < Object.keys(count).length; rowNo++) {
element.all(by.css(String.Format("div.ag-body-container div[ row-index='{0}'] > [col-id='{1}']", rowNo, columnName))).map(function (Element) {
Element.getText().then(function (result) {
console.log("Result Asc :: " + result);
testArrayAsc.push(result);
});
})
}
}).then(function () {
console.log("TestArrayAsc::",testArrayAsc);
return testArrayAsc;
})
}
我通过以下方式调用此功能:
console.log('Array::', homepage.getSortedText('Betreff'));
但我得到“Array :: undefined”作为输出。
如果我像这样修改我的代码:
homepage.getSortedText('Betreff').then(function (a) {
})
然后我在IDE中收到此错误消息:“属性'然后'在类型'void'上不存在”。
请帮忙。提前谢谢。
答案 0 :(得分:1)
getSortedText
不会返回任何内容,因此它是无效类型且没有then
方法。
有很多缺少的信息,但起点是返回你正在创建的Promise。
return element.all(