我一直尝试从ToT angular-seed master运行一些E2E测试,并在运行./scripts/e2e-test.sh
时不断收到以下错误:
TypeError: Property 'browser' of object #<Object> is not a function
尝试将以下代码作为我的e2e场景之一运行时出现此错误:
'use strict';
/* https://github.com/angular/protractor/blob/master/docs/getting-started.md */
describe('MyApp', function() {
describe(Index', function() {
beforeEach(function() {
browser().navigateTo('/');
});
it('should render feature specific image', function() {
expect(element('img.featurette-image').length).toBe('4');
});
});
});
我想知道我的量角器配置是否不正确:
exports.config = {
allScriptsTimeout: 11000,
specs: [
'../test/e2e/*.js'
],
capabilities: {
'browserName': 'chrome'
},
baseUrl: 'http://localhost:3000/',
framework: 'jasmine',
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
}
};
我的单元测试运行得很好。这是我为他们提供的Karma配置(请注意,这是一个在端口3000
上的sinatra应用程序的公共主管内的角度应用程序:
module.exports = function(config){
config.set({
basePath : '../',
files : [
'https://code.jquery.com/jquery-1.10.2.min.js',
'app/lib/angular/angular.js',
'app/lib/angular/angular-*.js',
'test/lib/angular/angular-mocks.js',
'app/js/**/*.js',
'test/unit/**/*.js'
],
exclude : [
'app/lib/angular/angular-loader.js',
'app/lib/angular/*.min.js',
'app/lib/angular/angular-scenario.js'
],
autoWatch : true,
frameworks: ['jasmine'],
browsers : ['Chrome'],
plugins : [
'karma-junit-reporter',
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine'
],
junitReporter : {
outputFile: 'test_out/unit.xml',
suite: 'unit'
}
})}
感谢您的帮助!
答案 0 :(得分:5)
您需要更改此行:
browser().navigateTo('/');
到
browser.navigateTo('/');
就是这样。