2016-07-18 16 views
0

Gulp-ProtractorとGulp-Angular-Protractorは、引数と設定ファイルを分度器に渡すことができます。gulp.srcを使用しないでGulp-Angular-Protractorを実行する

だから、なぜファイルのリストを渡す必要がありますか?

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(); 
    }); 

} 問題は、分度器がSRCでスイートルームが、ファイルを実行していないです。分度器を直接呼び出す方法はありますか?

答えて

1

gulp.srcを空白のままにして、スペックやスイートをargsとして渡すことができます。ドキュメントはそれを説明する上では大したものではありませんが、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) 
    }); 
}; 
関連する問題