Configuration testcafe运行程序允许命令行值

Configuration testcafe运行程序允许命令行值,configuration,automated-tests,e2e-testing,web-testing,testcafe,Configuration,Automated Tests,E2e Testing,Web Testing,Testcafe,我有一个这样定义的测试咖啡馆跑步者 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) =

我有一个这样定义的测试咖啡馆跑步者

  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);
如何从命令行传递套件名称、浏览器名称等,即现在,suite1是硬编码的,但我想从命令行选择套件名称,如

  node testCafeRunner --suite suite2 --browser firefox
我该怎么做


另外,如果我不得不麻烦
.testcaferc.json
运行程序
,testcafe会同时考虑这两个问题吗?

您可以按如下方式传递nodejs参数:

在testCafeRunner.js中:

var argv = require('minimist')(process.argv.slice(2));
 
const suite = argv.suite;
const browser = argv.browser;
从命令行运行TestCafe时指定的设置,编程接口覆盖配置文件(.testcaferc.json)中的设置。TestCafe打印控制台中每个重写属性的信息

另见

var argv = require('minimist')(process.argv.slice(2));
 
const suite = argv.suite;
const browser = argv.browser;