Continuous integration 有没有办法在本地机器上运行并行cypress测试,例如5个流

Continuous integration 有没有办法在本地机器上运行并行cypress测试,例如5个流,continuous-integration,cypress,Continuous Integration,Cypress,我正在尝试在本地计算机上设置cypress并运行并行测试。但是我找不到一些信息如何做到这一点。嗯,我有点在本地并行运行它们。使用的一些想法: 我有一个MacBook,所以它是为iOS实现的 我的应用程序在Docker容器中运行,我只需要一个实例就可以同时运行多个测试。通过终端,我创建了多个文件,将规范拆分为单独的.command文件,如下所示: echo“cd&&npx-cypress-run-spec-cypress/integration/*>cypress.command;chmod+x

我正在尝试在本地计算机上设置cypress并运行并行测试。但是我找不到一些信息如何做到这一点。

嗯,我有点在本地并行运行它们。使用的一些想法:

  • 我有一个MacBook,所以它是为iOS实现的
  • 我的应用程序在Docker容器中运行,我只需要一个实例就可以同时运行多个测试。通过终端,我创建了多个文件,将规范拆分为单独的.command文件,如下所示:
    echo“cd&&npx-cypress-run-spec-cypress/integration/*>cypress.command;chmod+x cypress.command
    您可以在
    --spec
    后面堆叠多个目录/文件,因此
    --spec-cypress/integration//*cypress/integration//*
    也是有效的
  • 假设我有两个.command文件。我可以使用以下命令启动这些程序:
    打开cypress-01.command cypress-02.command
  • 这将启动两个独立的终端,都运行每个文件中提到的规范

  • 这将本地测试的运行时间从1,5小时减少到15分钟。

    从技术上讲,这是可能的。Cypress不建议这样做,因为在同一台机器上运行多个Cypress实例会消耗大量资源(CPU),并且会降低整个机器的性能,产生无用的结果

    无论如何,如果您的资源有限,并且无法使用官方仪表板,或者您没有多个可用的CI服务器,那么您可以在一台机器上运行测试,启动cypress运行多次,将测试套件分割到多个文件夹中


    我创建了一个名为
    cypress parallel
    ()的npm库,它(在第一次运行后)根据测试运行历史将测试套件平衡并拆分为多个子集,并为每个子集启动一个cypress命令。它还收集所有specs文件的结果,并在执行结束时记录这些结果。就性能而言,似乎使用2个进程可以将总体测试执行时间提高40%。

    Bazel+rules_nodejs能够在同一台机器上并行运行多个cypress测试。但是,在bazel编写cypress测试的体验将与您所习惯的大不相同


    两天前,我向我的软件架构师提出了同样的问题,他说只能在CI/CD管道中运行并行cypress测试,但不能在本地运行。我在官方网站上找到了相关信息:自3.1.0版以来,cypress可以在多台机器上并行运行记录的测试。虽然从技术上讲,并行测试也可以在一台机器上运行,但我们不建议这样做,因为这台机器需要大量资源才能有效地运行测试。是的,他们不推荐。但有可能:)是的,但我还没有从Cyress团队找到任何文档。干得好Nicola,我尝试过使用它,但在控制台
    env:node\r:No这样的文件或目录中出现了一个错误
    如果您有任何带有简单工作示例的repo,请告诉我know@EvgeniiBazhanov你是在Mac电脑上运行的吗?我已经尝试过解决这个问题,请查看新版本0.1.4。现在你可以在v.0.1.5中传递你自己的规范文件夹。如果其他东西不起作用,直接在回购协议上打开一个问题,否则我们将对此帖子上的所有人发送垃圾邮件。事实上,也许我应该在你的回购协议中创建一个问题,并提供更多细节。问题是我正试图在我们的工作项目中实现你的库,因此我需要创建另一个带有匿名数据的简单项目