2016-11-11 57 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刪除按鈕..但我想點擊錨鏈接在這裏。即編輯 –

相關問題