【发布时间】:2013-11-14 20:51:48
【问题描述】:
在我的 html 页面中:
<ul class="phones">
<li ng-repeat="phone in phones | filter:query | orderBy: orderProp">
{{phone.name}} - {{phone.age}}
<p>{{phone.snippet}}</p>
</li>
</ul>
在我的 e2e 测试中(返回数组中的两个元素):
var result= ptor.findElements(protractor.By.repeater('phone in phones').column('phone.name'));
result.then(function(arr) {
arr[0].getText().then(function(text) {
console.log("*** 1: "+ text);
});
arr[1].getText().then(function(text) {
console.log("*** 2: "+ text);
})
});
控制台正在打印所有三列,phone.name、phone.age 和 phone.sn-p。 为什么选择器不只是返回 phone.name?
它实际上返回列表“li”中的任何内容,纯文本或绑定。
【问题讨论】:
-
应该是
.column('name'),这里的例子github.com/angular/protractor/blob/master/docs/…? -
不,没有这样做,仍然带着所有的文字回来
-
一个问题可能是量角器试图在那里定位元素,因为
phone.name绑定的包装元素是li,它返回了那个。也许尝试使用.column('snippet')看看是否返回了p? -
好主意,你是对的,只选择了'sn-p'并且只返回了sn-p。那么,我需要相应地调整我的 html 吗?仅供参考...输入答案而不是评论,我会适当地对它进行投票,谢谢!
标签: angularjs protractor