2016-07-18 2 views
0

Gulp-Protractor и Gulp-Angular-Protractor могут передавать args и файл конфигурации в транспортир.Запуск Gulp-Angular-Protractor без gulp.src

Так почему мне нужно передать список файлов в глотку?

function runProtractor(done) { 
var params = process.argv; 
var args = params.length > 3 ? [params[3], params[4]] : []; 

gutil.log('arguments: ' + args); 

gulp.src(paths.e2eFiles) 
    .pipe(protractor({ 
     configFile: 'protractor.local.conf.js', 
     args: args, 
     'autoStartStopServer': true, 
     'debug': true 
    })) 
    .on('error', function (err) { 
     gutil.log(gutil.colors.red("An error occurred in protractor. Did you start the webdriver?")); 
     gutil.log(gutil.colors.red("Run cmd 'start gulp webdriver'.")); 
     gutil.log(gutil.colors.red('error: ' + err)); 
     // Make sure failed tests cause gulp to exit non-zero 
     throw err; 
    }) 
    .on('end', function() { 
     // Close browser sync server 
     browserSync.exit(); 
     done(); 
    }); 

} Проблемы заключается в том, что транспортир не работает в люксах, но файлы в И. Есть ли способ прямого вызова транспортира?

ответ

1

Вы можете оставить gulp.src пустым и передать спецификации или наборы в качестве аргументов, документация не очень хорошо объясняет это, но я смог передать любой аргумент файла конфигурации, который я пробовал через gulp, как arg (Я думаю, что у меня была проблема с прямым подключением, потому что это логическое, а не строка).

gulp.task('e2e', function(cb) { 
    gulp.src([]).pipe(protractor({ 
     configFile: './conf/protractor.conf.js', 
     args: [ 
     '--baseUrl', 'http://localhost/', 
     '--maxSessions', 1, 
     '--suite', './specs/test-spec.js', 
     '--params.environment', 'development' 
     ] 
    })).on('error', function(e) { throw e }) 
    .on('end', cb) 
    }); 
}; 
Смежные вопросы