使用onPrepare登录网站后,量角器超时

时间:2016-11-02 12:25:35

标签: javascript angularjs timeout protractor

我有一个测试,应该在登录网站后检查网站的标题。要执行登录,我在配置文件中使用onPrepare语句。 当网站登录到我的规范中的测试应该运行,但我一直在

Failed: Timed out waiting for Protractor to synchronize with the page after 11 seconds.

如果我在测试规范中添加了beforeEach语句,则测试用户未登录,因此我无法测试所有已登录的'我需要运行的具体测试。

这是我的配置文件:

'use strict';
var env = require('./enviroment');


exports.config = {
    framework: 'jasmine',
    seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
    directConnect: true,

    specs: [
        'photostream/*.spec.js'
    ],

    capabilities: {
        name: 'Chrome',
        browserName: 'chrome'
    },

    baseUrl: env.baseUrl,
    jasmineNodeOpts: {
        showColors: true,
        includeStackTrace: true
    },
    onPrepare: function(){

        browser.driver.get(env.baseUrl);


        // find the sign in button
        browser.driver.findElement(by.id('homepage_sign_in_btn')).click();
        browser.sleep(1000);

        // fire click event of the sign in button
        // check that the Sign In to Lifecake panel is opened
        // enter a email address
        browser.driver.findElement(by.id('sign-in-menu-email')).sendKeys(env.testUserAcc.email);

        // enter the password
        browser.driver.findElement(by.id('sign-in-menu-password')).sendKeys(env.testUserAcc.password);
        browser.sleep(5000);

        // click the sign in button
        browser.driver.findElement(by.id('home_menu_sign_in_btn')).click();


        return browser.driver.wait(function(){
            return browser.driver.getCurrentUrl().then(function(url){

                return url + '/index.html#/photos';
            })
        }, 5000)

    }
}

这是我的测试规范文件:

'use strict';
var PhotostreamHelper = require('./photostream.page.js');

describe('Tests for the Photostream - ',function(){
    it('The title of the site should be Lifecake', function () {

        expect(browser.getTitle()).toEqual('Lifecake');
        browser.sleep(2000);
    });
});

0 个答案:

没有答案