2017-07-25 29 views
0

我有一個包含多行的web表。我想要檢索該數據並進行驗證。但由於某種原因,我的方法只返回第一行的值。有人能說出什麼是錯的嗎?量角器:無法從網絡表中的多行中檢索所有值

方法:

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

我會做這樣的事情

validatePolicyVersionTable() { 
 
    const rows = element.all(by.repeater('row in table.filtered track by table.idPropertyFn(row)')); 
 

 
    return rows.map((row) => row.$$('td').getText()); 
 
}

如果要獲取一個ElementArrayFinder的文字,你還是會回到一個字符串數組( row.$$('td').getText())。您的結果可能是這樣的

[ 
    ['row1CellText1', 'row1CellText2', 'row1CellText3'], 
    ['row2CellText1', 'row2CellText2', 'row2CellText3'], 
    ['row3CellText1', 'row3CellText2', 'row3CellText3'] 
] 
+1

謝謝。有效。 – lfc1988