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