routerLink不使用angular2中的protrator在e2e测试中工作

时间:2016-11-11 10:42:09

标签: javascript angular typescript protractor e2e-testing

我有这个angular2 routerLink,它允许用户通过传递userId作为参数来导航到editComponent。

<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时。执行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);
  })
});

此外,我收到以下错误:

  

异步脚本超时:30秒内未收到结果

我在这里做错了什么?

任何输入?

感谢

2 个答案:

答案 0 :(得分: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);
  })
});

答案 1 :(得分:-1)

  1. 你可以尝试
  2. 元素(by.id(&#34;重定向&#34))。。单击(),然后(

    1. 另外,请检查是否需要点击此