Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用phantomJs和量角器的问题_Angularjs_Phantomjs_Protractor - Fatal编程技术网

Angularjs 使用phantomJs和量角器的问题

Angularjs 使用phantomJs和量角器的问题,angularjs,phantomjs,protractor,Angularjs,Phantomjs,Protractor,我正在使用量角器和PhantomJs对我的angular应用程序进行e2e测试 目前我正在测试一个登录表单。当我只是简单地检查时,所有的测试都很好 表单是否正确加载 用户名/密码字段为空 输入不正确的身份验证信息时会显示错误 到目前为止,幻影和量角器一直保持沉默 然而,下面提到的测试用例在量角器中总是失败。我尝试过各种排列和组合,但都没有用 当用户在登录表单中输入正确的身份验证信息时,angular应用程序将更改到dashboard部分的路径。i、 e浏览器窗口中的url将从更改为 http:/

我正在使用量角器和PhantomJs对我的angular应用程序进行e2e测试

目前我正在测试一个登录表单。当我只是简单地检查时,所有的测试都很好

  • 表单是否正确加载
  • 用户名/密码字段为空
  • 输入不正确的身份验证信息时会显示错误 到目前为止,幻影和量角器一直保持沉默

    然而,下面提到的测试用例在量角器中总是失败。我尝试过各种排列和组合,但都没有用

    当用户在登录表单中输入正确的身份验证信息时,angular应用程序将更改到dashboard部分的路径。i、 e浏览器窗口中的url将从更改为

    http://localhost:12345/#/signin/
    to 
    http://localhost:12345/#/dashboard
    
    当我运行下面的give测试时,我知道身份验证是成功的,因为服务器日志显示发送的成功响应对象。收到此响应后,angular应用程序应已更改至/仪表板的路线。然而,量角器无法捕捉路线的这种变化

    我的测试如下所示:

    describe("SignOn Page - Performing authentication with valid credentials ",function(){
      var ptor;
    
      beforeEach(function(){
        ptor = protractor.getInstance();
        ptor.get('#/signon');
        ptor.findElement(protractor.By.id('username')).sendKeys('joe');
        ptor.findElement(protractor.By.id('password')).sendKeys('pass');
        element(by.partialButtonText('Sign In')).click();
        ptor.waitForAngular();
      });
    
      it("should re-direct user to dashboard page once the user enters correct authentication information",function(){
        ptor = protractor.getInstance();
        expect(ptor.getCurrentUrl()).toContain('dashboard');
        expect(ptor.getTitle()).toContain('dashboard');
      });
    
    
    });
    

    我向这个论坛提出的问题是,量角器在改变状态时有问题吗?我在angular应用程序中使用ui.router?

    我遇到了同样的问题,因为我使用的是phantomJS 1.9.x,而不是2.x

    因此,您需要卸载phantomjs 1.9

    npm remove -g phantomjs
    
    并安装phantomjs2.x

    npm install -g phantomjs2
    

    希望它也能解决您的问题

    您在Chrome或Firefox上试用过吗?我已经在http requestsyes中遇到了特定于phantomjs的问题。。chrome驱动程序运行良好。。暂时有点放弃了phatomjs这是我想的,你可以浏览找到是否符合你的情况://祝你好运!我已经这么做了。。我看到了相关的问题,但没有解决方案,因此我在这个论坛上提出了问题。我在使用ngRouter而不是ui.router时遇到了同样的问题。你找到解决办法了吗?