我正在使用Testcafe赛跑者执行我得到的一些测试。完成所有操作后,控制台将永远执行脚本。

这是我的代码:

createTestCafe('localhost', 1337, 1338)
.then(tc => {
    testcafe     = tc;
    runner = testcafe.createRunner();

    return runner
        .src(['offerRefresh.js'])
        .browsers(['nightmare'])
        .screenshots('./screenshots', true)
        .run();
})
.then(failedCount => {
    console.log('Tests failed: ' + failedCount);
    testcafe.close();
});


控制台仍然像这样:

测试失败:0

并且永远不会关闭该过程。

最佳答案

我已经重现了问题。如果使用testcafe-browser-provider-nightmare运行测试,则该过程将挂起。如果您在本地浏览器中运行测试,则该过程将成功完成。
我在TestCafe存储库中创建了一个问题:https://github.com/DevExpress/testcafe/issues/1493。您可以订阅它,以便在问题解决后得到通知。

解决方法是,可以在代码中调用process.exit

...
    .then(failedCount => {
    console.log('Tests failed: ' + failedCount);
    testcafe.close();
    process.exit(failedCount ? 1 : 0);
});


更新:此问题已在testcafe-browser-provider-nightmare@0.0.5中修复

关于testing - 如何关闭testcafe赛跑者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44132703/

10-12 16:19