Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 环路量角器_Javascript_Angular_Protractor - Fatal编程技术网

Javascript 环路量角器

Javascript 环路量角器,javascript,angular,protractor,Javascript,Angular,Protractor,我正在使用最新的角度和最新的量角器版本,我想知道如何在测试中使用ngFor循环 过去在我的AngularJS应用程序中,它很简单。我只是使用了类似于.repeater的by.repeater之类的东西,魔术就在后面完成了 然而现在在Angular 4应用程序中,我并没有那么幸运。 基于此,目前尚不支持。另一方面,我看到了一张罚单,当时已经有人在处理它了 无论如何,我的HTML是: <div *ngFor="let org of userOrgList; count as count">

我正在使用最新的角度和最新的量角器版本,我想知道如何在测试中使用ngFor循环

过去在我的AngularJS应用程序中,它很简单。我只是使用了类似于.repeater的
by.repeater
之类的东西,魔术就在后面完成了

然而现在在Angular 4应用程序中,我并没有那么幸运。 基于此,目前尚不支持。另一方面,我看到了一张罚单,当时已经有人在处理它了

无论如何,我的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>
我得到一个错误:

失败:索引超出范围。正在尝试访问索引为0的元素,但 只有0个元素与locator by.rep eater(“let org of”)匹配 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');
});

遇到了相同的问题,并发现Angular 2+yea mate有一个未解决的问题需要支持:)
// 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');
});
var data = element.all(by.css('table[name='' + TableName + '']')).all(by.css('tr td'));
expect(data.get(0).getText()).toEqual('0');