Gulp-protractor没有启动webdriver-manager

时间:2017-12-11 09:54:16

标签: selenium selenium-webdriver protractor gulp-protractor

我正在尝试使用gulp-protractor插件自动运行量角器。使用量角器命令并单独显式运行Web驱动程序时,整个过程工作正常。 使用gulp-protractor运行时同样有效,前提是webdriver在触发gulp任务之前在后台手动启动。

以下是我的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独立任务

1 个答案:

答案 0 :(得分:1)

我像下面一样使用gulp-angular-protractor,希望这会有所帮助。它也适用于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'
};