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
});
我在 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
});