0

gulp-protractor プラグインを使用して分度器を自動的に実行しようとしています。分度器コマンドを使用し、Web ドライバーを個別に明示的に実行すると、このプロセス全体が正常に機能します。gulp タスクをトリガーする前に webdriver がバックグラウンドで手動で開始される場合、gulp-protractor を使用して実行する場合も同じことが機能します。

以下は私のコードスニペットですGulp task

var protractor = require("gulp-protractor").protractor;
var webdriverupdate = require("gulp-protractor").webdriver_update;;
var webdriver_standalone = require("gulp-protractor").webdriver_standalone;

// This task is to update  & run the webdriver
gulp.task('webdriver_standalone', webdriver_standalone);
gulp.task('webdriverUpdate', ['webdriver_standalone'], function () {
  browsers: ['chrome', 'ie']
});

//for running protractor E2E test cases
gulp.task('protractor', function (callback) {
gulp
    .src(['./e2e/sanity/shared/*.spec.ts',
            './e2e/sanity/app-header/*.spec.ts',
            ])
    .pipe(protractor({
        'configFile': 'Protractor.conf.js',
    }))
    .on('error', function (e) {
        console.log(e);
    })
    .on('end', callback);
  });

gulp.task('default',['webdriverUpdate','protractor']);

以下は私のコードスニペットですprotractor.config.js

const { SpecReporter } = require('jasmine-spec-reporter');

exports.config = {
allScriptsTimeout: 1100,
suites: {
    shared: ['./e2e/sanity/shared/*.ts'] ,
    appheader: ['./e2e/sanity/app-header/*.spec.ts']
},
    multiCapabilities: 
    [{
          seleniumAddress: 'http://localhost:5555/',
          'browserName': 'internet explorer',            
          'platform': 'windows 10',
          'version': '11',
          'ignoreProtectedModeSettings': true,
    },
    { 
         seleniumAddress: 'http://localhost:4444/wd/hub',
        'browserName': 'chrome',
        'ignoreProtectedModeSettings': true,
}],
};

gulp を介して分度器タスクの前に webdriver スタンドアロン タスクを実行するにはどうすればよいですか??

4

1 に答える 1

1

以下のように gulp-angular-protractor で gulp を使用しました。gulp-protractor プラグインでも機能します。

//Gulpfile

var gulp = require('gulp');
var gulpProtractor = require('gulp-angular-protractor');
var paths = require('../paths.js');

// Execute e2e Tests
 gulp.task('e2e-test', function(callback) {
     gulp.src(paths.tests)
         .pipe((gulpProtractor({
                 configFile: 'protractor.conf.js'
         })).on('error', function(e) {
                 console.log(e);
             }).on('end', callback));
 });


gulp.task('webdriver-update', gulpProtractor.webdriver_update);
gulp.task('webdriver-standalone', ['webdriver-update'], gulpProtractor.webdriver_standalone);

//paths.js:

module.exports = {
    tests: 'test/e2e/**/*.spec.js'
};
于 2017-12-13T10:36:13.923 に答える