角度量角器测试会话持久性

时间:2014-04-28 19:43:57

标签: angularjs protractor

我正在为网络应用进行e2e测试,我想登录用户并坚持他们的会话。

特别是以下情况:

  1. 使用有效凭据发布登录表单。
  2. Angular将用户路由到目标网页。
  3. 我调用browser.get(/ *当前url * /)
  4. 我希望当前的网址相同,而不是我的用户被踢回日志屏幕。
  5. 我们正在使用基于HTTP标头的身份验证,我不知道如何配置此方案以进行测试。

    是否像在某处激活cookie一样简单?或者可能通过配置支持auth标头?

3 个答案:

答案 0 :(得分:0)

我设法解决了这个问题,只需在调用browser.sleep(1000)之前添加browser.get( /* the current url */ )

基本上,Protractor正在锤击路由器以加快速度,我的应用程序在auth creds设置之前就把我踢了出来。或者,也许,HTML5路由可能需要一些时间来处理(我们的深层链接被散列,但然后角度将哈希转换为HTML5路由)。

答案 1 :(得分:0)

您也可以使用browser.waitForAngular();

答案 2 :(得分:0)

你可以使用这样的承诺

goAfterLogin: function(){
    browser.get('http://www.example.com').then(function(){
        return this; //or other return

    }).then(function(){
        return this;
    });
 }

由您决定如何使用它(您也可以使用waitForAngular()创建promis)