【问题标题】:How do I run tests on multiple browsers in lambdatest?如何在 lambdatest 中在多个浏览器上运行测试?
【发布时间】:2020-04-24 08:24:17
【问题描述】:

我有一个 lambdatest 和 testcafe 设置,lambdatest 帐户有一个并行运行。 据我了解,testcafe 不支持测试排队。 所以我的问题是我如何设法在 lambdatest 上在不同的浏览器/操作系统组合上运行测试(一个接一个没有排队)。

提前致谢。

【问题讨论】:

    标签: testing automation automated-tests e2e-testing testcafe


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复,我能够在多个浏览器上成功运行测试。
    【解决方案2】:

    正如 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。干杯!

    【讨论】:

    • 虽然偶尔参考您自己的网站是完全可以的,但请记住,您必须在回答中披露您的隶属关系。请看:How to not be a spammer
    猜你喜欢
    • 2012-06-20
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 2014-10-27
    • 2016-05-30
    • 2014-05-02
    相关资源
    最近更新 更多