2016-08-24 18 views
1

element.all(....)の結果で返されたElementArrayFinderを汎用配列に変換できますか?分度器:ElementArrayFinderから汎用配列

目的は、配列に要素を格納し、push()を使用して別のelement.all()の結果から要素を追加することです。

答えて

1

あなたはElementArrayFinderを拡張し、両方のアレイファインダーの内部Web要素の配列を連結extend()メソッドを追加することができます。

使用
protractor.ElementArrayFinder.prototype.extend = function(finder) { 
    var self = this; 
    var getWebElements = function() { 
     return self.getWebElements().then(function(parentWebElements) { 
      return finder.getWebElements().then(function(newWebElements) { 
       return parentWebElements.concat(newWebElements); 
      }); 
     }); 
    }; 
    return new protractor.ElementArrayFinder(this.browser_, getWebElements, this.locator_); 
}; 

:テスト済み

var arr1 = $$(".myclass"); 
var arr2 = $$(".someotherclass"); 

var newArr = arr1.extend(arr2); 
expect(newArr.getText()).toEqual(["text1", "text2", "text3"]); 

が、中に私の作品簡単なテストケース。