0

app.component.html

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

我想测试是否所有学生都有名字。但是students是在 app.component.ts 中设置的列表。

现在我应该如何设置students量角器?

我已经做了以下

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

但这不起作用,它会抛出Failed: unknown error: angular is not defined. 正确的方法是什么?

4

2 回答 2

2

不支持和以上版本by.model等角度选择器。by.bindingAngular2

根据文档

Protractor 与 AngularJS 版本大于 1.0.6/1.1.4 一起使用,并且与 Angular 应用程序兼容。请注意,对于 Angular 应用程序,不支持 by.binding() 和 by.model() 定位器。我们推荐使用 by.css()。

您可以在此处查看示例

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

编辑

要解决您的问题,您可以使用 Id

HTML

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

测试

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');
});
于 2017-10-14T05:40:09.997 回答
0
<div class="student-list" *ngFor="let student of students">
    <p *ngIf="student.name">{{student.name}}</p>
</div>

这是您可以只显示那些有名字的用户的方法之一。

于 2017-10-14T05:38:53.733 回答