1

我的业力跑步者让我感到困惑。有些测试运行得很好,但其他看似相似的测试却没有。

这有效:

it('should display an error when accessing /business-user without authentication', function() {
    browser().navigateTo('../business-user');
    expect(element('p#flash').text()).toBe('You must be logged in to access that page.');
});

这不会:

it('should take the user to the index lander upon logout', function() {
    browser().navigateTo('../business-user/login');
    input('username').enter('matt');
    input('password').enter('letmein');
    element('input:last').click();
    element('a#logout').click();
    expect(browser().window().path()).toBe('/');
});

运行显示的测试会给我一个错误,即找不到#logout。我暂停了跑步者以验证#logout 是否存在,并且确实存在。当我恢复时,我收到“TypeError:无法调用未定义的方法'invoke'”错误。

我认为应该定义的对象是元素,但为什么不说它找不到元素呢?更重要的是,为什么一开始就找不到呢?

强制性 karma-e2e.conf.js 转储:

// Karma configuration
// Generated on Tue Aug 20 2013 17:01:18 GMT-0600 (MDT)

module.exports = function(config) {
    config.set({

        basePath: '../..',

        frameworks: ['ng-scenario'],

        files: [
            'test/e2e/*.js'
        ],

        exclude: [
        ],

        reporters: ['progress'],

        port: 9876,

        colors: true,

        logLevel: config.LOG_INFO,

        autoWatch: false,


        browsers: ['Chrome'],

        captureTimeout: 60000,

        singleRun: true,

        proxies: {
            '/': 'http://localhost:3000/'
        },

        urlRoot: '/_karma_/'

    });
};

有任何想法吗?

4

0 回答 0