我正在使用量角器和PhantomJs对我的角度应用程序进行e2e测试。
目前我正在测试登录表单。我只是在检查
时,所有的测试工作都很好到目前为止,幻影和量角器已经安静合作了
然而,下面提到的测试用例一直在量角器中失败。我尝试了各种排列和组合但无济于事。
当用户在登录表单中输入正确的身份验证信息时,角度应用程序将更改路线到仪表板部分。即浏览器窗口中的URL将从
更改http://localhost:12345/#/signin/
to
http://localhost:12345/#/dashboard
当我运行下面的测试时,我知道身份验证成功,因为服务器日志显示发送的成功响应对象。收到此响应后,角度应用程序应该已将路由更改为/ dashboard。然而,量角器未能在路线中捕捉到这种变化。
我的测试如下所示:
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');
});
});
我对这个论坛的问题是,量角器是否有改变状态的问题?我在角色应用程序中使用ui.router?
答案 0 :(得分:1)
我有同样的问题因为我使用的是phantomJS 1.9.x而不是2.x
所以你需要卸载phantomjs 1.9
npm remove -g phantomjs
并安装phantomJS 2.x
npm install -g phantomjs2
希望它也能解决你的问题