CircleCI parallel Cypress против нескольких сред - PullRequest
0 голосов
/ 07 августа 2020

В настоящее время я использую 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, у меня есть хэш-карта и l oop поверх нее.

#!/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 последовательно в нескольких средах, причем каждый запуск в среде выполняется параллельно).

1 Ответ

1 голос
/ 07 августа 2020

Приложение Cypress Real World - это платежное приложение, демонстрирующее реальное использование методов тестирования, шаблонов и рабочих процессов Cypress . Он содержит конфигурацию CircleCI для запуска тестов с Windows и Linux и использует параметр ci-build-id для Cypress CircleCI Orb для связывания сборок в Cypress. Панель управления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...