var promise = protractor.promise; var resultTableReader = { read: function (table) { var self = this; return table.findElements(By.tagName('tr')) .then(function(rows) { var promises = []; for (var i = 0; i < rows.length; i++) { promises.push(self.readRow(rows[i])); } return promise.all(promises); }); }, readRow: function (row) { var def = promise.defer(); var dataList = []; var promises = []; var self = this; row.findElements(By.tagName('td')).then(function(cols) { for(var i=0; i