Как запустить тесты React Jest e2e в конвейере GitLab CI-CD? - PullRequest
0 голосов
/ 13 марта 2020

Сценарий:

Я настроил тесты e2e с использованием Jest для веб-приложения React. Для локального запуска тестов e2e мне пришлось запустить сервер локально из окна терминала с помощью команды npm start и из другого окна терминала выполнить команду тестирования npm run test:e2e. У меня установлены браузеры Chrome и Firefox в моем p c, в результате тесты e2e работают правильно в локальном режиме.

Теперь я хочу запустить эти тесты e2e как часть конвейера GitLab CI-CD, и у меня возникли проблемы со следующим:

  1. Как обеспечить работу браузеров (Chrome / Firefox) доступны для бегуна GitLab? Я получил несколько учебных пособий, в которых предлагалось установить требуемый браузер (-ы) как часть шага конвейера. Это лучший подход?

  2. Можно ли добиться того же самого без установки браузера (ов)? Например: использовать selenium_standalone-chrome изображения? Если да, то как это сделать?

Любая ссылка на пример ссылку / код высоко ценится. Благодаря.

1 Ответ

0 голосов
/ 17 марта 2020

В конвейере GitLab CI-CD (только для браузера Chrome на данный момент):

E2Etest:
  stage: e2e
  image: node:10.15.3
  variables:
    CI_DEBUG_TRACE: "true"
  allow_failure: false
  script:
    - set -e
    - npm install


    - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
    - sh -c 'echo deb http://dl.google.com/linux/chrome/deb/ stable main > /etc/apt/sources.list.d/google.list'
    - apt-get update
    - apt-get install -y xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic xvfb x11-apps imagemagick google-chrome-stable


    - npm run test:e2e:chrome
    - pkill node
  artifacts:
    paths:
      - coverage
    expire_in: 1 hr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...