CircleCI并行赛普拉斯针对多种环境

时间:2020-08-07 00:04:47

标签: cypress circleci

我目前正在使用CircleCI在单个环境上运行Cypress测试套件。 CircleCI配置指定以下内容:

docker:
      - image: cypress/base:10
    parallelism: 16
    steps:
      - *quick_attach
      - restore_cache:
          key: dependency-cache-{{ checksum "yarn.lock" }}-v2
      - run:
          name: Run Cypress Tests
          command: >
            CYPRESS_BRANCH=$CIRCLE_BRANCH
            CYPRESS_SOURCE=CircleCI
            CYPRESS_RECORD_KEY=$CYPRESS_RECORD_KEY
            /bin/bash ./scripts/cypress_run_circleci_all.sh

在cypress_run_circleci_all.sh内部,我有一个哈希表并在其上循环。

#!/bin/bash 
set -e

declare -A environments
environments[dev]="https://dev.mydomain.com"
environments[qa]="https://qa.mydomain.com"


##  loop through the all environments
for env_name in ${!environments[@]}
do
    TAGS="all-envs-test,${env_name}"
    CYPRESS_baseUrl=${environments[$env_name]} \
    yarn cypress:run:desktop --record \
    --group Desktop \
    --parallel \
    --tag \"$TAGS\" || true
    echo "sleeping 60s"
    sleep 60
done

一切在第一个环境中都可以正常工作,但是第二个环境总是非常快速地完成。我猜想作为并行命令的一部分,运行多个cypress命令会破坏一些事情,但是我不确定是什么。

关于我做错了什么以及我可以做什么来实现自己想要的任何建议(在多个环境中依次运行cypress测试,每个环境中并行运行cypress测试)。

1 个答案:

答案 0 :(得分:1)

Cypress Real World Appa payment application to demonstrate real-world usage of Cypress testing methods, patterns, and workflows。它包含一个CircleCI config,可以在Windows和Linux上运行测试,并使用Cypress CircleCI Orbci-build-id参数来链接Cypress Dashboard

中的内部版本