0

我正在尝试使用 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 独立任务?

4

1 回答 1

1

我将 gulp 与 gulp-angular-protractor 一起使用,如下所示,希望这会有所帮助。它也适用于 gulp-protractor 插件。

//Gulp文件

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 回答