量角器测试超时等待页面同步

时间:2015-01-04 20:42:00

标签: angularjs integration-testing protractor angularjs-e2e

我的量角器测试正在等待页面同步。我已经检查过控制台,没有显示任何错误,因此我无法进行调试。我尝试过使用allScriptsTimeout以及defaultTimeoutInterval都无济于事。我的应用程序中没有轮询,并且测试似乎确实正确登录,即使所有内容都完全呈现,它也会在登录后挂起。我的代码:

配置文件:

var exports;
exports.config = {
// The address of a running selenium server.
seleniumAddress: 'http://localhost:4444/wd/hub',    

// Spec patterns are relative to the location of this config.
specs: [
    'scenarios/features/portfolio-manager-e2e-local.js'
],

multiCapabilities: [
    {
        'browserName': 'chrome'
    }
],

jasmineNodeOpts: {
    onComplete: null,
    isVerbose: true,
    showColors: true,
    includeStackTrace: true,
    defaultTimeoutInterval: 20000,
}
};

测试:

我现在只发布一个,第一个运行并失败的测试:

it('should login user with correct credentials', function () {
    browser.get('/#/portfolio');
    element(by.model('username')).sendKeys('test');
    element(by.model('password')).sendKeys('test');
    element(by.css('.btn.btn-md.btn-primary')).click();
    expect(element(by.css('.port-header')).getText()).toEqual("Portfolios");
});

感谢。

2 个答案:

答案 0 :(得分:2)

我发现ngToast成功登录弹出窗口的超时时间为15.5秒,导致挂断。

答案 1 :(得分:1)

在进行任何断言之前,您需要wait for angular

  

指示webdriver等到Angular完成渲染后   在继续之前没有未完成的$ http电话。

browser.get('/#/portfolio');
browser.waitForAngular()