如何以编程方式启动几个CliRunner

问题描述

我正在尝试为Nightwatch.js创建一个GUI,用户可以通过单击按钮选择要运行的测试文件并启动测试。

在我的快速后端上捕获API调用代码如下:

const app = require('express')();

const Nightwatch = require('nightwatch');

module.exports = { path: '/api',handler: app };

app.post('/runtests',async (req,res) => {
    Nightwatch.cli(async function(argv) {
        const runner = Nightwatch.CliRunner(argv);

        await runner
            .setup({
                src_folders: 'test_scripts'
            })
            .startWebDriver();

        try {
            await runner.runTests();
        } catch (err) {
            console.error('Ouch :',err);
        }
        await runner.stopWebDriver();
        res.status(200).json('Tests completed');
    });
});

第一次单击正常运行,但是当我尝试第二次单击时,出现错误

Error: GeckoDriver process exited with code: 64                                                                                                  21:36:53
   JavaScript error: resource://gre/modules/TelemetryUtils.jsm,line 159: TypeError: date is undefined
  /my-path/Testomatic/node_modules/geckodriver/geckodriver: error: The argument '--port <PORT>' was provided more than once,but cannot be used mult
iple times

CliRunner似乎在API调用之间仍然存在,但我不知道如何在每次调用时创建“新鲜” CliRunner。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...