testcafe runner 允许命令行值
testcafe runner to allow command line values
我有一个这样定义的测试咖啡馆运行程序
const createTestCafe = require('testcafe');
const glob = require('glob');
let runner = null;
let testcafe = null;
const getTests = suite => {
return new Promise(resolve => {
glob(suite, (er, files) => resolve(files));
});
};
const runTest = suite => {
createTestCafe()
.then(tc => {
testcafe = tc;
runner = testcafe.createRunner();
})
.then(() => {
return getTests(suite);
})
.then(testFiles => {
runner
.src(testFiles)
.browsers('chrome')
.run()
.then(failedCount => {
console.log(failedCount);
testcafe.close();
});
});
}
const suites = {
suite1: 'src/tests/1.spec.ts',
'src/tests/2.spec.ts,
suite2: 'src/tests/3.spec.ts',
};
runTest(suites.suite1);
如何从命令行传递套件名称、浏览器名称等,即现在,套件 1 是硬编码的,但我想从命令行 select 套件名称,如
node testCafeRunner --suite suite2 --browser firefox
我该怎么做?
此外,如果我不得不打扰 .testcaferc.json
和 runner
,testcafe 会看两者吗?
您可以按如下方式传递 nodejs 参数:
node testCafeRunner.js --suite=suite2 --browser=firefox
在testCafeRunner.js中:
var argv = require('minimist')(process.argv.slice(2));
const suite = argv.suite;
const browser = argv.browser;
当您从命令行和编程接口 运行 TestCafe 时指定的设置会覆盖配置文件 (.testcaferc.json) 中的设置。 TestCafe 在控制台中打印有关每个被覆盖的信息 属性。
另见:
How do I pass command line arguments to a Node.js program?
我有一个这样定义的测试咖啡馆运行程序
const createTestCafe = require('testcafe');
const glob = require('glob');
let runner = null;
let testcafe = null;
const getTests = suite => {
return new Promise(resolve => {
glob(suite, (er, files) => resolve(files));
});
};
const runTest = suite => {
createTestCafe()
.then(tc => {
testcafe = tc;
runner = testcafe.createRunner();
})
.then(() => {
return getTests(suite);
})
.then(testFiles => {
runner
.src(testFiles)
.browsers('chrome')
.run()
.then(failedCount => {
console.log(failedCount);
testcafe.close();
});
});
}
const suites = {
suite1: 'src/tests/1.spec.ts',
'src/tests/2.spec.ts,
suite2: 'src/tests/3.spec.ts',
};
runTest(suites.suite1);
如何从命令行传递套件名称、浏览器名称等,即现在,套件 1 是硬编码的,但我想从命令行 select 套件名称,如
node testCafeRunner --suite suite2 --browser firefox
我该怎么做?
此外,如果我不得不打扰 .testcaferc.json
和 runner
,testcafe 会看两者吗?
您可以按如下方式传递 nodejs 参数:
node testCafeRunner.js --suite=suite2 --browser=firefox
在testCafeRunner.js中:
var argv = require('minimist')(process.argv.slice(2));
const suite = argv.suite;
const browser = argv.browser;
当您从命令行和编程接口 运行 TestCafe 时指定的设置会覆盖配置文件 (.testcaferc.json) 中的设置。 TestCafe 在控制台中打印有关每个被覆盖的信息 属性。
另见:
How do I pass command line arguments to a Node.js program?