所以我在angular2组件中使用了* ngFor来渲染用户。
<ul>
<li *ng-for="let user of users">
<input [(ng-model)]="user.name">
<button (click)="remove(user._id)">Remove</button>
<a [routerLink]="['/edit',user._id]">
<i class="fa fa-eye fa-fw"></i>
</a>
</li>
</ul>
现在在我的量角器测试中,当我点击此链接时,它不会导航到编辑组件。
所以我想做的是:
通过传递任何user._id导航到editComponent,但我不知道如何将user._id从模板传递到量角器e2e测试。
下面是我的测试:
it('should redirect to edit', () => {
browser.get('/edit/'+user._id); //here I want to pass user._id which is inside *ngFor of browser
browser.waitForAngular();
});
任何方式这样做? 感谢
答案 0 :(得分:2)
使用evaluate()
方法提取值表单范围变量。请参见下面的示例。
it('should redirect to edit', () => {
element(by.buttonText("Remove")).evaluate("user._id").then(function(userId){
browser.get('/edit/'+userId);
browser.waitForAngular();
})
});