是否可以将ElementArrayFinder
结果返回的element.all(....)
转换为通用数组?
目标是将元素存储在数组中,并使用element.all()
从另一个push()
的结果中添加更多元素。
答案 0 :(得分:1)
您可以扩展ElementArrayFinder
并添加一个extend()
方法连接两个数组查找程序的内部Web元素数组:
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"]);
经测试,在一个简单的测试用例中适合我。