gpt4 book ai didi

angularjs - 使用 phantomJs 和 Protractor 的问题

转载 作者:行者123 更新时间:2023-12-03 08:17:46 25 4
gpt4 key购买 nike

我正在使用 Protractor 和 PhantomJs 对我的 Angular 应用程序进行端到端测试。

目前我正在测试登录表单。当我只是检查时,所有测试工作正常

  1. 表单加载是否正确
  2. 用户名/密码字段为空
  3. 当您输入不正确的身份验证信息时会显示错误。

到目前为止,phantomJs 和 Protractor 一直在安静地合作

但是下面提到的测试用例在 Protractor 中总是失败。我尝试了各种排列和组合,但无济于事。

当用户在登录表单中输入正确的身份验证信息时,angular 应用程序会将路由更改为仪表板部分。即浏览器窗口中的 url 将从

http://localhost:12345/#/signin/
to
http://localhost:12345/#/dashboard

当我运行下面的 give 测试时,我知道身份验证是成功的,因为服务器日志显示已发送成功响应对象。收到此响应后,angular 应用程序应该已将路由更改为/dashboard。然而, Protractor 无法捕捉到这一路线变化。

我的测试如下所示:

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');
});


});

我对这个论坛的问题是, Protractor 是否有改变状态的问题?我在我的 Angular 应用程序中使用 ui.router 吗?

最佳答案

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

所以需要卸载phantomjs 1.9

npm remove -g phantomjs

并安装 phantomJS 2.x

npm install -g phantomjs2

希望它也能解决你的问题

关于angularjs - 使用 phantomJs 和 Protractor 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com