Как запустить тесты testcafe в teamcity CI? - PullRequest
1 голос
/ 19 июня 2020

Я хочу запустить тесты Testcafe E2E на сервере Teacity CI / CD. Может ли кто-нибудь помочь мне понять, как мы можем использовать изображение testcafe / testcafe docker в teamcity для запуска тестов?

1 Ответ

3 голосов
/ 22 июня 2020

Я рекомендую вам обратиться к следующим темам, где вы можете найти информацию о том, как заставить его работать:

Вот статья, в которой описывается, как интегрировать TestCafe с TeamCity . Также ознакомьтесь со следующей статьей: Используйте TestCafe Docker Изображение .

Не стесняйтесь обращаться к нам, если вам нужна помощь в объединении этих инструментов.

ОБНОВЛЕНО:

TeamCity идет вместе с расширением Docker Wrapper для этапа сборки из командной строки. Это простой способ запустить собственный сценарий внутри контейнера docker.

Однако необходимо учитывать следующие особенности:

  • Образ TestCafe Docker поставляется со специальным скриптом , который подготавливает среду контейнера, запуская такие службы, как Xvfb и DBus. Он находится в /opt/testcafe/bin/testcafe-docker.sh. Оболочка TeamCity переопределяет точку входа изображений docker и предотвращает выполнение этого сценария. Это означает, что /opt/testcafe/bin/testcafe-docker.sh следует использовать вместо testcafe для запуска вашего теста с Docker и TeamCity:
/opt/testcafe/docker/testcafe-docker.sh chromium test/e2e/**/* -r teamcity
  • Лучше использовать безголовый режим при тестировании в контейнерах Docker, поскольку этот режим специально разработан для таких сред.
  • Если по какой-то причине вы не используете режим без головы в Chrome, вы можете столкнуться со следующей ошибкой: ОШИБКА: Не удалось установить sh одно или несколько указанных соединений браузера. Это может быть вызвано проблемами сети или сбоями удаленного устройства. Вероятно, это вызвано следующей ошибкой Chrome: TMPDIR too long . Чтобы решить эту проблему, вам необходимо вручную установить переменную среды перед запуском TestCafe:
export TMPDIR=/tmp

Настроенный этап сборки может выглядеть так:

This configuration implies that you are using TestCafe with TeamCity TestCafe reporter устанавливается как локальные пакеты. Убедитесь, что каталог node_modules с TestCafe и надстройками является подкаталогом каталога root тестового проекта. TeamCity Docker Wrapper смонтирует рабочий каталог внутри контейнера.

...