我正在尝试将量角器作为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文件中指定了spec文件,所以不能自行运行量角器。 (我确实尝试过,但没有用)。
其次,当我尝试按照上面代码段中指定的方式运行时,我不断收到这样的错误: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任务启动量角器的任何建议?
答案 0 :(得分:0)
无需使用'test / e2e / ** / * .js'] 自行提供protractor.conf.js文件中的所有配置。
你可以使用像 gulp.task('run-protractor',['run-server','run-webdriver'],function(done){ //在这里运行量角器conf })
创建run-server和run-webdriver gulp taks,在它们工作后单独测试它们,将它们用于run-protractor任务。