Gulp-protractor继续说“Spec pattern与任何文件都不匹配”

时间:2015-09-29 12:30:45

标签: angularjs gulp protractor gulp-protractor

我正在尝试用量角器和茉莉花来结束测试。当我直接打电话给protractor protractor.config.js时,它完美无缺。

然而,当我使用gulp-protractor时,我不断得到“Spec patterns与任何文件都不匹配”的错误,并且测试没有运行。

这是我的量角器转轮gulp任务:

gulp.task('protractor-run', function (done) {
    return gulp.src(["./e2e-tests/**/*-spec.js"])
        .pipe(protractor({
            configFile: "./config/protractor-config.js",
            args: ['--baseUrl', 'http://127.0.0.1:8000']
        }))
        .on('error', function(e) { throw e })
});

这是错误:

WARNING - pattern C:\path\to\app\e2e-tests\login\login-spec.js did not math any files.
[launcher] Process exited with error code 1
C:\path\to\app\node_modules\protractor\node_modules\q\q.js:126
                   throw e;
                   ^

Error: Spec patterns did not match any files.

我错过了什么?

2 个答案:

答案 0 :(得分:4)

我设法让它发挥作用。通过提供空的可读流。然后在配置文件中指定spec文件。

var protractor = require('gulp-protractor').protractor;

gulp.task('protractor', ['webdriverUpdate'],function(){
      return gulp.src([])
          .pipe(protractor({
            configFile: __dirname + '/protractor.conf.js'
          }));
});

也不要忘记webdriverUpdate

var webdriverUpdate = require('gulp-protractor').webdriver_update;

gulp.task('webdriverUpdate', webdriverUpdate );

并在配置文件中:

seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.47.1.jar',

有了这个,我就停止了这个错误。

<强>更新

自{2.5}以来,issue #2551已关闭并修复

答案 1 :(得分:0)

我在gulpfile中解决了这个问题,该文件通过将文件路径放入gulp.src的参数([&#39; file_path_goes_here&#39;])来启动量角器测试。我试图运行的任务在括号之间没有文件路径,并且抛出了错误。

gulp.task('works', 'Run some tests', function() {
  gulp.src(['path/to/test.spec.js'])
    .pipe(protractor({
      configFile: __dirname + '/../test/protractor.conf.js',
      args: ['--baseUrl', 'http://localhost:9099']
    }))
});

gulp.task('error', 'Run feature tests locally', function() {
  gulp.src([''])
    .pipe(protractor({
      configFile: __dirname + '/../test/protractor_local.conf.js',
      args: ['--baseUrl', 'http://localhost:9099']
    }))
});