用e2e端到端的测试时,发现用expect(repeater('.phones li', 'Phone List').column('phone.images'))没法得到值,写了一个方法来获取
1,json片断
"images": [
"img/phones/nexus-s.0.jpg",
"img/phones/nexus-s.1.jpg",
"img/phones/nexus-s.2.jpg",
"img/phones/nexus-s.3.jpg"
],
"name": "Nexus S",
2,repeater读取测试
expect(repeater('.phones li', 'Phone List').column('phone.name')).
toEqual(["Nexus S","Dell Venue"]); //这样就可以的
expect(repeater('.phone-thumbs img', 'Phone List').column('phone.images')).
toEqual(["Nexus S","Dell Venue"]); //这样就不可以了
我测试了很多种方法,发现读取的都是[ ]。
3,用element结合query可以读取
it('should load mock widgets into correct order, by seq', function () {
var promise = element('.phone-thumbs img').query(function (elements, done) {
var seq = [];
elements.each(function () {
seq.push(angular.element(this).attr('src'));
});
done(null, seq);
});
expect(promise).toEqual([
"img/phones/nexus-s.0.jpg",
"img/phones/nexus-s.1.jpg",
"img/phones/nexus-s.2.jpg",
"img/phones/nexus-s.3.jpg"
]);
});
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/jsjquery/1591.html