在 gulp 量角器中添加套件名称的问题
Issue with adding suite name in gulp protractor
我坚持使用 Gulp 作为包装器。我在不同项目(网站)的工作中有多个规范文件,我想从这些规范文件中创建测试套件。
以下是 gulp 中某人编写的代码
`
var binPath = './node_modules/.bin/';
gulp.task('test-all', function(cb) {
async.eachSeries(glob.sync('sites/*'), testSite, cb);
});
gulp.task('test', function(cb) {
env.validate(util.env, {
site: {
required: true,
},
useSelenium: {
required: false,
},
params: {
required: false,
}
});
testSite('sites/' + util.env.site, cb);
});
gulp.task('explorer', function(cb) {
runProtractor(['--elementExplorer', '--directConnect'], cb);
});
gulp.task('serve', function(cb) {
runModule('webdriver-manager', ['start'], cb);
});
gulp.task('update', function(cb) {
runModule('webdriver-manager', ['update'], cb);
});
gulp.task('default', ['test']);
function runModule(name, params, cb) {
new simpleCommand(path.join(binPath, name), params, process.cwd()).run(cb);
}
function runProtractor(params, cb) {
runModule('protractor', params, cb);
}
function testSite(site, cb) {
var params = [
site + '/protractor.conf.js', suite=smoke,
'--params.timestamp=' + timestamp
];
if (!util.env.useSelenium) {
params.push('--directConnect');
}
if (util.env.params) {
params.push(util.env.params.replace(/(^['"]|['"]$)/g, '').trim());
}
util.log('Testing ' + site);
runProtractor(params, function(err) {
if (err) {
util.log(err);
}
cb();
});
}
`
我现在已经指定了我想在上面执行的套件名称。但是我想从命令行参数中捕获这个套件名称。
gulp test --site [sitename] --suite=smoke
我怎样才能从上面的语句中获取套件名称?
我成功了。
function testSite(site, cb) {
var params = [
site + '/protractor.conf.js', '--suite='+util.env.suite,
'--params.timestamp=' + timestamp
我坚持使用 Gulp 作为包装器。我在不同项目(网站)的工作中有多个规范文件,我想从这些规范文件中创建测试套件。 以下是 gulp 中某人编写的代码 `
var binPath = './node_modules/.bin/';
gulp.task('test-all', function(cb) {
async.eachSeries(glob.sync('sites/*'), testSite, cb);
});
gulp.task('test', function(cb) {
env.validate(util.env, {
site: {
required: true,
},
useSelenium: {
required: false,
},
params: {
required: false,
}
});
testSite('sites/' + util.env.site, cb);
});
gulp.task('explorer', function(cb) {
runProtractor(['--elementExplorer', '--directConnect'], cb);
});
gulp.task('serve', function(cb) {
runModule('webdriver-manager', ['start'], cb);
});
gulp.task('update', function(cb) {
runModule('webdriver-manager', ['update'], cb);
});
gulp.task('default', ['test']);
function runModule(name, params, cb) {
new simpleCommand(path.join(binPath, name), params, process.cwd()).run(cb);
}
function runProtractor(params, cb) {
runModule('protractor', params, cb);
}
function testSite(site, cb) {
var params = [
site + '/protractor.conf.js', suite=smoke,
'--params.timestamp=' + timestamp
];
if (!util.env.useSelenium) {
params.push('--directConnect');
}
if (util.env.params) {
params.push(util.env.params.replace(/(^['"]|['"]$)/g, '').trim());
}
util.log('Testing ' + site);
runProtractor(params, function(err) {
if (err) {
util.log(err);
}
cb();
});
}
` 我现在已经指定了我想在上面执行的套件名称。但是我想从命令行参数中捕获这个套件名称。
gulp test --site [sitename] --suite=smoke
我怎样才能从上面的语句中获取套件名称?
我成功了。
function testSite(site, cb) {
var params = [
site + '/protractor.conf.js', '--suite='+util.env.suite,
'--params.timestamp=' + timestamp