angularjs - Get ng-model in ng-repeat in ng-repeat with Protractor -
how can ng-model in ng-repeat in ng-repeat protractor ?
<div ng-repeat="field in master.linker | orderby:'country.name'"> <div> <p> {{ field.country_name }} </p> <label ng-repeat="user in user_list"> <input type="checkbox" ng-model="selected_user"> <span ng-bind="user.name"></span> </label> </div> </div>
i use filter() check ng-repeat :
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 fields2 = filteredfields[0].element.all(by.repeater('user in user_list')); return fields2.filter(function (field2) { return field2.element(by.binding('user.name')).gettext().then(function (value) { return value === user; }); }).then(function (filteredfields) { var myuser = filteredfields[0].element(by.model('user_name')); self.current_step.expect(input.getattribute('value')).to.eventually.equal(''); }); });;
i have error in console :
typeerror: filteredfields[0].element.all not function
use .all()
instead of .element.all()
:
filteredfields[0].all(by.repeater('user in user_list'));
you can simplify things using first()
:
var fields = element.all(by.repeater('field in master.linker')); var filtereduser = fields.filter(function (field) { return field.element(by.binding("field.country_name")).gettext().then(function (country) { return country === "en"; }); }).first().all(by.repeater('user in user_list')).filter(function (userfield) { return userfield.element(by.binding('user.name')).gettext().then(function (value) { return value === user; }); }).first(); var myuser = filtereduser.element(by.model('user_name')); self.current_step.expect(myuser.getattribute('value')).to.eventually.equal('');
you may column()
, row()
repeater api.
Comments
Post a Comment