2016-11-11 68 views
1

所以我用* ngFor在我的angular2组件中呈现用户。如何将userId从浏览器传递给量角器?

<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> 

现在在我的量角器测试中,当我点击这个链接时,它没有导航到编辑组件。

所以我想要做的是:

导航到editComponent通过传递任何user._id的,但我不知道如何从模板传递user._id到量角器端到端测试。

下面

是我的测试:

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(); 
}); 

没有办法做到这一点? 谢谢

回答

2

使用evaluate()方法来提取值窗体范围变量。查看下面的例子。

it('should redirect to edit',() => {  
    element(by.buttonText("Remove")).evaluate("user._id").then(function(userId){ 
     browser.get('/edit/'+userId);  
     browser.waitForAngular(); 
    }) 
}); 
+0

@Sudharshan它不工作routerLink –

+0

@BhushanGadekar我不熟悉angular2。你是什​​么意思的routerLink? –

+0

@Sudharshan你已经使用by.buttonText删除按钮..但我想点击锚链接在这里。即编辑 –

相关问题