如何在 lambdatest 中 运行 测试多个浏览器?

How do I run tests on multiple browsers in lambdatest?

我有一个 lambdatest 和 testcafe 设置,lambdatest 帐户有一个并行 运行。 据我了解,testcafe 不支持测试排队。 所以我的问题是如何在 lambdatest 上对不同的 browser/OS 组合进行 运行 测试(一个接一个,无需排队)。

提前致谢。

您可以为每个浏览器创建多个 运行ners 并 运行 它们串联。您可以在 GitHub 上的以下线程中找到示例: https://github.com/DevExpress/testcafe/issues/2495#issuecomment-421090352

正如 Dmitry 所说,您可以为每个浏览器创建多个 运行ners 并 运行 它们串联。

这是一个示例代码 运行 通过自定义 testcafe 运行ner 在 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。干杯!