testcafe中的定时断言

Timing assertion in testcafe

我在 testcafe 的套件中有几个测试用例。当我 运行 在 QA 环境中说我收到这样的报告时

TC1 -- 5 秒 TC2- 4 秒 TC3- 10 秒

所以每个测试用例都需要不同的时间来完成(最好的情况)现在在生产中我也希望测试用例在相同的时间内 运行 说生产中的 TC1 不应超过5 秒,我如何在 testcafe 中编写代码? 是否有一个断言可以让我在特定时间内监控测试用例的完成情况?我想要完整的测试用例完成,而不是选择器或断言完成。

我建议您尝试 TestCafe Programming Interface。在这种情况下,您可以将所有测试分成 "lists" 并添加您自己的 "run-done" 逻辑。请参阅以下 "one-run" 示例:

const createTestCafe = require('testcafe');
let testcafe         = null;

createTestCafe('localhost', 1337, 1338)
    .then(tc => {
        testcafe       = tc;
        const runner   = testcafe.createRunner();
        const testList = ['tests/fixture1.js', 'tests/func/fixture3.js'];

        const runPromise = runner
            .src(testList)
            .browsers(['chrome'])
            .run();

        const deadlinePromise = new Promise(resolve => setTimeout(resolve, 10000))
            .then(throw new Error('fail'));

        return Promise.race(runPromise, deadlinePromise).
    })
    .then(() => {
        // success
    })
    .catch(() => {
        // fail
    });