【发布时间】:2020-04-24 08:24:17
【问题描述】:
我有一个 lambdatest 和 testcafe 设置,lambdatest 帐户有一个并行运行。 据我了解,testcafe 不支持测试排队。 所以我的问题是我如何设法在 lambdatest 上在不同的浏览器/操作系统组合上运行测试(一个接一个没有排队)。
提前致谢。
【问题讨论】:
标签: testing automation automated-tests e2e-testing testcafe
我有一个 lambdatest 和 testcafe 设置,lambdatest 帐户有一个并行运行。 据我了解,testcafe 不支持测试排队。 所以我的问题是我如何设法在 lambdatest 上在不同的浏览器/操作系统组合上运行测试(一个接一个没有排队)。
提前致谢。
【问题讨论】:
标签: testing automation automated-tests e2e-testing testcafe
您可以为每个浏览器创建多个运行器并依次运行它们。您可以在 GitHub 上的以下线程中找到示例: https://github.com/DevExpress/testcafe/issues/2495#issuecomment-421090352
【讨论】:
正如 Dmitry 所说,您可以为每个浏览器创建多个运行器并依次运行它们。
这是通过自定义 testcafe 运行程序在 LambdaTest Selenium Grid 上运行并行测试的示例代码。
const browsers = [
['lambdatest:Chrome@74.0:Windows 10"', 'lambdatest:Chrome@75.0:Windows 10'],
['lambdatest:Chrome@76.0:Windows 8', 'lambdatest:Chrome@77.0:Windows 8'],
];
const runTest = async browser => {
console.log('starting tests');
await createTestCafe('localhost', 1337, 1338)
.then(tc => {
testcafe = tc;
const runner = testcafe.createRunner();
return runner
.src(['web-tests/*.ts'])
.browsers(browser)
.run();
})
.then(async failedCount => {
console.log('Tests failed: ' + failedCount);
await testcafe.close();
return;
});
}
const runAllBrowsers = async () => {
for (const browser of browsers) {
await runTest(browser);
}
}
有关详细信息,请参阅GitHub repository of LambdaTest & Testcafe。干杯!
【讨论】: