如何关闭testcafe runner
How to close testcafe runner
我正在使用 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
并且从不关闭进程。
我已经重现了这个问题。如果您 运行 使用 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 来执行我得到的一些测试。当一切都完成后,控制台将永远执行脚本。
这是我的代码:
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