There are multiple ways to locate the text input and, since there is a repeater there, I suspect there are multiple text boxes. Assuming you want to send keys to the first one, here is one option:
var desiredInput = element.all(by.repeater("option in options")).first().all(by.tagName("input")).first();
desiredInput.sendKeys("desired text");
Note that you don't need to handle the track by
part at all - it is getting stripped away by Protractor (source code reference).
Also note that I've just used the by.tagName()
technique which may or may not work depending on if you have the other input
elements there. You can be more strict and use a CSS selector instead, e.g. check the placeholder:
var desiredInput = element.all(by.repeater("option in options")).first().$('input[placeholder="Option 1"]');
And, if you want to send keys to input element for every item in the repeater, use each()
:
element.all(by.repeater("option in options")).each(function (elm) {
var desiredInput = elm.$('input[placeholder="Option 1"]');
desiredInput.sendKeys("desired text");
});