Приложение, которое я тестирую, выводит список с использованием ретранслятора, и я хочу, чтобы можно было найти определенную строку и щелкнуть по кнопке редактирования внутри этой строки.Нажатие на элемент внутри ретранслятора с использованием существующего локатора
Я использую .filter найти соответствующую строку, а затем нажмите на кнопку редактирования, но это работает только если указать локатор для кнопки, а не, если я сошлюсь к существующему определению:
this.editWineButton = element(by.buttonText('edit'));
this.editWine = function (wineName) {
this.wineListEntries.filter(function(row){
return row.element(by.binding('wine.name')).getText().then(function(name){
return name === wineName;
});
}).then(function (elem) {
//THIS WORKS
var button = elem[0].element(by.buttonText('edit'));
//THIS FAILS
//var button = elem[0].editWineButton;
button.click();
});
};
Определив локатор для кнопки редактирования, что мне нужно сделать, чтобы иметь возможность повторно использовать его с результатом фильтра?
Когда я бегу неисправную версию кода я получаю ошибку
«Ошибка: Не удается прочитать свойство„Клик“неопределенных».
Я уверен, что ответ должен быть очевиден, но я не вижу своей ошибки. Любые предложения были бы очень желанными.