如何关闭 testcafe runner

Posted

技术标签:

【中文标题】如何关闭 testcafe runner【英文标题】:How to close testcafe runner 【发布时间】:2017-10-23 06:46:33 【问题描述】:

我正在使用 Testcafe runner 来执行我得到的一些测试。一切都完成后,控制台会一直执行脚本。

这是我的代码:

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

并且永远不会关闭进程。

【问题讨论】:

【参考方案1】:

我已经重现了这个问题。如果您使用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中得到修复

【讨论】:

以上是关于如何关闭 testcafe runner的主要内容,如果未能解决你的问题,请参考以下文章

Testcafe 关闭窗口

如何使用 Testcafe 测试推送通知

使用testcafé,如何同时登录多个服务?

TestCafe & chrome:headless : 如何强制浏览器语言(语言环境)

如何获取 httpOnly(安全)cookie TestCafe?

TestCafe - 如何在 testcaferc 文件中为 testGrep 提供多个正则表达式