量角器2.0 .map没有返回元素

时间:2015-04-23 07:49:17

标签: dictionary protractor

我最近从量角器1.8迁移到2.0(https://github.com/angular/protractor

我有一个问题,了解.map的工作方式是如何改变的。通常我会找到元素然后像这样映射它们:

{{ trans('messages.test', array('name' => 'Dayle')) }}

问题是在最新版本的量角器中。元素不再是承诺。所以现在当我运行这样的代码时,不仅它不起作用,而且量角器冻结而不返回任何堆栈跟踪。

我应该如何在最新版本的量角器中解决这个问题(映射DOM元素列表)?

感谢您的帮助;)

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,如下所示。

locator.all(by.css('.whatever'))
.map(function(element){
    return {
        click: function () {
          element.click();
        },
        name: element.getText()
    };
})
.then(function(elements){
     if (elements[x].name ==='sth') {
        elements[x].click();
     }
});