2017-10-14 6 views
0

app.component.htmlComment définir la collection de * ngFor à partir de protractor dans Angular 4.0?

<div class="student-list" *ngFor="let student of students"> 
    <p>{{student.name}}</p> 
</div> 

Je veux vérifier si tous les élèves ont nom. Mais students est une liste qui est définie dans app.component.ts.

Maintenant, comment dois-je définir le students du rapporteur?

je l'ai fait suite

element(by.binding('students')).sendKeys(['abc', 'xyz']); 

Mais cela ne fonctionne pas, il jette Failed: unknown error: angular is not defined. Quelle est la bonne façon?

Répondre

0
<div class="student-list" *ngFor="let student of students"> 
    <p *ngIf="student.name">{{student.name}}</p> 
</div> 

Ceci est l'une des façons dont vous pouvez afficher uniquement les utilisateurs qui ont un nom.

1

sélecteurs angulaires tels que by.model et by.binding ne sont pas supportés Angular2 et au-dessus de versions.

Selon le docs

fonctionne avec les versions Protractor de AngularJS supérieure à 1.0.6/1.1.4 et est compatible avec les applications angulaires. Notez que pour les applications angulaires, les localisateurs by.binding() et by.model() ne sont pas pris en charge. Nous recommandons d'utiliser by.css().

vous pouvez voir les exemples ici

https://angular.io/guide/upgrade#e2e-tests

EDIT

Pour résoudre votre problème, vous pouvez utiliser Id

HTML

<div *ngFor="let student of students" id="students"> 
    <p class="student-list"> {{student.name}}</p> 
</div> 

Test

var students = element.all(by.id('students')).all(by.css('student-list')); 
var firstOrg = organizations.get(0); 
it('should have an org with specific name', function() { 
    expect(firstOrg.getText()).toEqual('Name you expect'); 
}); 
+0

bien. Mais si j'utilise by.css like element (par.css ('. Student-list')). SendKeys (['abc', 'xyz']); Cela échoue également en disant aucun élément trouvé en utilisant locator: Par (css selector, .student-list) –

+0

il devrait être sans. – Sajeetharan

+0

essayé sans. comme élément (by.css ('student-list')). sendKeys (['abc', 'xyz']); toujours aucun élément trouvé –