in einer HTML-Seite, die ich habe:Protractor getText von WebElement in Repeaters Array
<ul class="phones">
<li ng-repeat="phone in phones | filter:query | orderBy: orderProp">
{{phone.name}} - {{phone.age}}
<p>{{phone.snippet}}</p>
</li>
</ul>
In einem E2E testen I (kehrt zwei Elemente in dem Array):
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);
})
});
Die Konsole ist Drucken aller drei Spalten, phone.name, phone.age und phone.snippet. Warum gibt der Selektor nicht nur phone.name zurück?
Seine tatsächlich zurück, was auch immer ich in der Liste "li", Klartext oder eine Bindung habe.
Sollte es sein '.Column ('name')' gemäß Beispiele hier https://github.com/angular/protractor/blob/master/docs/getting- started.md # Schreibtests? – Heikki
Nein, das hat es nicht gemacht, immer noch mit dem ganzen Text zurück – bmw0128
Ein Problem könnte sein, dass der Winkelmesser versucht, dort Elemente zu lokalisieren, und da das Umhüllungselement für 'phone.name' bindend ist, gibt es das zurück . Vielleicht versuchen Sie es mit '.column ('snippet')' und sehen Sie, ob 'p' zurückgegeben wird? – Heikki