2016-11-11 58 views
1

我有这个angular2 routerLink允许用户通过传递userId作为参数导航到editComponent。routerLink在e2e测试中不能使用angular2中的protrator

<a [routerLink]="['/edit',user._id]" (click)="returnUser(user._id)" id="redirect" class="btn" name="user-{{i}}"> 
    <i class="fa fa-eye fa-fw"></i> 
</a> 

我要测试的这款用量角器,但是当我运行我的E2E test.after执行click事件这个环节是不是重定向到editComponent。

以下是我的测试:

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

而且我得到以下错误:

asynchronous script timeout: result was not received in 30 seconds

我究竟错在这里做什么?

任何输入?

谢谢

回答

0

您没有点击链接实际上。

it('should redirect to edit',() => { 
     element(by.id("redirect")).evaluate("user._id").then(function (userId) { 
     element(by.id("redirect")).click(); //click the edit link 
     browser.waitForAngular(); //wait for page load 
     expect(browser.getCurrentUrl()).toContain('/edit/' + userId); //if you are using jasmine framework do an ssertion with the current url 
    }, function (err) { 
     console.log(err); 
    }) 
}); 
+0

@Sudharshan仍然不工作 –

+0

点击链接? –

+0

@Sudharshan no ..我认为它因为我已经使用链接 –

-1
  1. 可以尝试

元件(by.id( “重定向”))。点击()。然后(

  • 也,检查你是否需要点击这个
  • 相关问题