And*_*rit 5 javascript protractor angular
我正在使用最新的Angular和最新的量角器版本,并且想知道如何在测试中使用ngFor循环。
过去在我的AngularJS应用程序中很简单。我只是用了类似的东西,by.repeater然后魔术就完成了。
但是现在在Angular 4 APP中我不是那么幸运。基于此票证,尚不支持。另一方面,当somone已经在使用它时,我看到了一个stackoverflow票证。
无论如何,我的HTML是:
<div *ngFor="let org of userOrgList; count as count">
<button class="btn btn-default btn-lg col-xs-12" type="submit" (click)="selectOrg(org.id)">{{org.name}}</button>
</div>
Run Code Online (Sandbox Code Playgroud)
我的测试看起来像:
var organizations = element.all(by.repeater('org of userOrgList'));
it('should have an org with specific name', function() {
expect(organizations.get(0).getText()).toEqual('myOrgName');
});
Run Code Online (Sandbox Code Playgroud)
我得到一个错误:
失败:索引超出范围。尝试访问索引为0的元素,但只有0个元素与by.rep eater(“ userOrgList的组织;计数为计数”)的定位器匹配
我的问题是: 如何在量角器测试中使用ngFor
我发现这对我有用,但仍然不如中继器那么干净
// HTML FILE: Added id to DIV
<div *ngFor="let org of userOrgList; count as count" id="organizations">
<button class="btn btn-default btn-lg col-xs-12" type="submit" (click)="selectOrg(org.id)">{{org.name}}</button>
</div>
//TEST FILE:
var organizations = element.all(by.id('organizations')).all(by.css('button'));
var firstOrg = organizations.get(0);
it('should have an org with specific name', function() {
expect(firstOrg.getText()).toEqual('Name you expect');
});
Run Code Online (Sandbox Code Playgroud)
使用标准表中继器,它可能看起来像:
var data = element.all(by.css('table[name='' + TableName + '']')).all(by.css('tr td'));
expect(data.get(0).getText()).toEqual('0');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2537 次 |
| 最近记录: |