量角器重复

时间:2016-02-02 14:24:11

标签: javascript angularjs testing protractor

我正在尝试选择https://www.angularjs.org/上的所有待办事项。然而它只改变了第一个。如何选择所有元素:

element.all(by.repeater('todo in todoList.todos')).then(function(rows) {
    for (var i = 0; i < rows.length; ++i) {                
        element.all(by.repeater('todo in todoList.todos')).get(i).element(by.model('todo.done')).click();
    } 
});

2 个答案:

答案 0 :(得分:2)

您需要.each()

var todos = element.all(by.repeater('todo in todoList.todos'));
todos.each(function(todo) {
    todo.element(by.model('todo.done')).click();

    browser.sleep(1000);  // hardcoded delay 
});

答案 1 :(得分:0)

var todos = element.all(by.repeater('todo in todoList.todos'));
todos.get(1).click();
todos.get(2).click();

element.all将收集给定定位器的所有元素,get()将选择元素特定元素。 它像数组一样工作。