gulp-protractor e2e任务无法运行

时间:2015-12-07 10:00:27

标签: javascript visual-studio-2013 gulp aurelia gulp-protractor

更新:似乎这是gulp-protractor中的一个错误。在他们的github页面上,他们将其作为一个bug提交,并将对其进行调查。资料来源:https://github.com/mllrsohn/gulp-protractor/issues/64

在解决错误之前,您只能做可能的解决方法是将项目目录更改为不包含空格的内容。

<小时/> 所以我试图让Aurelia项目开始包括前端单元测试。这是问题的起点。当我尝试运行e2e gulp任务时,我收到以下错误:

  

[10:45:44]使用gulpfile〜\ Documents \ Visual Studio 2013 \ Projects \ ProjectX \ ProjectX \ gulpfile.js
  [10:45:44]开始'build-e2e'...
  [10:45:44] 207 ms后完成'build-e2e'   [10:45:44]开始'e2e'...
  'C:\ Users \ jorisd \ Documents \ Visual'无法识别为内部或外部命令,可操作程序或批处理文件。

  C:\ Users \ jorisd \ Documents \ Visual Studio 2013 \ Projects \ ProjectX \ ProjectX \ build \ tasks \ e2e.js:34
      .on('error',function(e){throw e;});

  错误:量角器退出代码1

基本上,突出显示的代码存在问题。由于我的路径包含一个空格,它会因某种原因停在那里。

以下是我的e2e.js文件现在的样子:

var gulp = require('gulp');
var paths = require('../paths');
var to5 = require('gulp-babel');
var plumber = require('gulp-plumber');
var webdriverUpdate = require('gulp-protractor').webdriver_update;
var webdriverStandalone = require("gulp-protractor").webdriver_standalone;
var protractor = require('gulp-protractor').protractor;

// for full documentation of gulp-protractor,
// please check https://github.com/mllrsohn/gulp-protractor
gulp.task('webdriver-update', webdriverUpdate);
gulp.task('webdriver-standalone', ['webdriver-update'], webdriverStandalone);

// transpiles files in
// /test/e2e/src/ from es6 to es5
// then copies them to test/e2e/dist/
gulp.task('build-e2e', function() {
  return gulp.src(paths.e2eSpecsSrc)
    .pipe(plumber())
    .pipe(to5())
    .pipe(gulp.dest(paths.e2eSpecsDist));
});

// runs build-e2e task
// then runs end to end tasks
// using Protractor: http://angular.github.io/protractor/
gulp.task('e2e', ['build-e2e'], function(cb) {
  return gulp.src(paths.e2eSpecsDist + '/*.js')
    .pipe(protractor({
      configFile: '/protractor.conf.js',
      args: ['--baseUrl', 'http://127.0.0.1:9000']
    }))
    .on('end', function() { process.exit(); })
    .on('error', function(e) { throw e; });
});

问题在于使用configFile选项在e2e任务中。
我尝试将该行更改为以下内容:

configFIle: __dirname + '/protractor.conf.js',

但这没有结果。如果你们中任何人知道在configFile路径中包含空格的解决方法,我会很高兴听到它。

1 个答案:

答案 0 :(得分:2)

对我来说工作正常。

var angularProtractor = require('gulp-angular-protractor');

gulp.task('test', function (callback) {

 gulp
     .src([__dirname+'/public/apps/adminapp/**/test/**_test.js'])
     .pipe(angularProtractor({
         'configFile': 'public/apps/adminapp/app.test.config.js',
         'debug': false,
         'args': ['--suite', 'adminapp'],
         'autoStartStopServer': true
     }))
     .on('error', function(e) {
         console.log(e);
     })
    .on('end',callback);

});