我目前正在使用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测试)。
答案 0 :(得分:1)
Cypress Real World App是a payment application to demonstrate real-world usage of Cypress testing methods, patterns, and workflows。它包含一个CircleCI config,可以在Windows和Linux上运行测试,并使用Cypress CircleCI Orb的ci-build-id
参数来链接Cypress Dashboard