.column() only works for binding s, not model s.
In your case, use the by.model() locator :
var result = element.all(by.repeater('field in master.linker')); result.each(function(entry) { var input = entry.element(by.model("field.text"));
If you want to get input values, use map() :
var inputValues = result.map(function(entry) { return entry.element(by.model("field.text")).getAttribute("value"); });
The answer to an additional question from the comment:
I have an array, without other fields from my ng-repeat, how can I compare "if (field.country_name ===" "en") {expect (field.text) .to.eventually.equal (value)} " ?
Use filter() :
var fields = element.all(by.repeater('field in master.linker')); fields.filter(function (field) { return field.element(by.binding("field.country_name")).getText().then(function (country) { return country === "en"; }); }).then(function (filteredFields) { var input = filteredFields[0].element(by.model("field.text")); expect(input.getAttribute("value")).to.eventually.equal(value); });;
alecxe
source share