【问题标题】:Starting protractor through gulp通过 gulp 启动量角器
【发布时间】:2016-08-29 17:36:54
【问题描述】:

我正在尝试将量角器作为 gulp 任务运行,但我无法让它工作。

我试过这样的 gulp-protractor 插件:

gulp.task('protractor-server', function (done) {
  var called = false;
  nodemon({
    script: 'test/e2e/server/server.js',
    stdout: true,
    ignore: ['app/**', 'node_modules'],
    watch: 'test/e2e/**/*.js'
  })
  .on('start', function () {
    if (!called) {
      done();
    }
    called = true;
  });
});

gulp.task('run-protractor', ['protractor-server'], function (done) {
  return gulp.src(['test/e2e/**/*.js'])
      .pipe(protractor({
        configFile: __dirname + '/protractor.conf.js'
      }))
      .on('error', function (error) {
        console.log('gulp error: ', error);
        throw error;
      });
});

但是,为什么首先我需要使用gulp.src(['test/e2e/**/*.js']),然后是管道量角器?由于我在 protractor.conf 文件中指定了规范文件,因此无法自行运行量角器。 (仅供参考,我确实尝试过,但没有成功)。

其次,当我尝试按照上面 sn-p 中指定的方式运行时,我不断收到如下错误:WARNING - pattern C:\[absolutepath]\test\e2e\[subfolder]\[filename].js did not match any files. 对于 e2e 文件夹和子文件夹中存在的所有文件。这可能是什么原因?

这是我的量角器配置文件:

exports.config = {
  specs: [
    'test/e2e/[subfolder]/*.page.js',
    'test/e2e/[subfolder]/*.spec.js'
  ],
  baseUrl: 'http://localhost:3000'

};

如果我单独启动服务器并从命令提示符运行量角器,它可以正常工作。我正在考虑使用 child_process.spawn 并启动量角器子进程,但我也没有让它工作。关于如何从 gulp 任务启动量角器的任何建议?

【问题讨论】:

    标签: angularjs node.js gulp protractor


    【解决方案1】:

    无需使用'test/e2e/**/*.js'] 自行提供 protractor.conf.js 文件中的所有配置。

    您可以使用类似的任务 gulp.task('run-protractor', ['run-server','run-webdriver'], function (done) { //在这里运行量角器conf })

    创建 run-server 和 run-webdriver gulp tak,在它们工作后分别测试它们,将它们用于 run-protractor 任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      相关资源
      最近更新 更多