3

我正在使用 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

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

4

1 回答 1

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

于 2017-05-23T15:10:30.423 回答