如何将userId从浏览器传递给量角器?
问题描述:
所以我用* 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();
});
没有办法做到这一点? 谢谢
答
使用evaluate()
方法来提取值窗体范围变量。查看下面的例子。
it('should redirect to edit',() => {
element(by.buttonText("Remove")).evaluate("user._id").then(function(userId){
browser.get('/edit/'+userId);
browser.waitForAngular();
})
});
@Sudharshan它不工作routerLink –
@BhushanGadekar我不熟悉angular2。你是什么意思的routerLink? –
@Sudharshan你已经使用by.buttonText删除按钮..但我想点击锚链接在这里。即编辑 –