Cypress并行测试仅启动1台机器单线程运行,如何增加云侧机器数
Cypress 并行测试配置问题解答
核心概念澄清
- Cypress Cloud 仅负责测试用例的智能拆分、运行结果汇总展示,不会主动为你分配运行测试的云机器,所有执行测试的节点都需要你在自己的CI环境/本地环境手动启动。
- 你观察到的「1个线程对应1台机器」本质是单台机器上的单个
cypress run进程对应Cypress Cloud侧的1个并行节点,--parallel参数的作用是让当前进程接入Cloud的调度队列拉取用例,而不是触发多机器启动。
多机器并行执行的配置方法
你只需要按照以下步骤操作即可启用多台机器并行:
- 保持你当前的运行命令不变,同一个CI构建下,启动N个执行相同命令的进程/机器即可,N就是你想要的并行机器数量,上限以你Cypress企业账号的并行额度为准
cypress run --record --parallel --key ${DASH_KEY} \ --ci-build-id LOCAL_DOCKER --group PARALLEL_RUN
注意:所有并行节点必须使用完全相同的
ci-build-id参数值,才能被Cypress Cloud识别为同一个构建的并行节点,统一分配测试用例。
- 如果你是在本地测试并行效果,可以直接打开多个终端窗口,同时执行上面的命令,就能看到多个节点同时接入Cloud执行测试。
- 如果你是在CI环境配置,直接修改你的CI流水线配置,将Cypress测试步骤设置为N个并行任务即可,不同CI平台的并行配置逻辑大同小异,均支持指定单步骤的并行运行副本数。
线程与机器的区别说明
官方文档未明确提及的二者差异可以参考以下定义:
- 机器:这里指的是独立的Cypress测试执行节点,可以是物理机、虚拟机、Docker容器,每个节点会运行一个独立的
cypress run进程,对应Cloud侧的1个并行席位。 - 线程:默认情况下单个Cypress进程是单线程运行的,如果你要在单台机器上实现多进程并行,可以使用社区工具
cypress-parallel在单节点内启动多个Cypress进程,每个进程同样会占用1个Cloud并行席位,和跨机器启动的进程没有本质区别。
内容的提问来源于stack exchange,提问作者djangofan
相关产品推荐
相关产品推荐

