Контейнер окружности / узел: 10.14-браузеры - ОШИБКА: euid! = 0, каталог /tmp/.X11-unix не будет создан - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь запустить тестирование браузера на CircleCi с помощью TestCafe. Я следовал этой документации . Основная проблема заключается в том, что браузер Chrome не может открыться. CircleCi может успешно загрузить изображение, так как среда вращения прошла.

Я столкнулся с проблемой на следующем шаге (контейнер окружности / узел: браузеры 11.6.0) на CircleCi, который выдает ошибку:

$ _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.

Job was canceled 

А позже на шаге теста пользовательского интерфейса выдает эту ошибку:

$ testcafe chrome:headless uitests/tests/* -r xunit:/tmp/test-results/res.xml -e
ERROR Was unable to open the browser "chrome:headless" due to an error.

Error: Unable to run the browser. The browser path or command template is not specified.
at checkBrowserPath$ (/rp-web/node_modules/testcafe-browser-tools/lib/api/open.js:47:23)
at tryCatch (/rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:72:40)
at Generator.invoke [as _invoke] (/rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:334:22)
at Generator.prototype.(anonymous function) [as next] (/rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:105:21)
at tryCatch (/rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:72:40)
at invoke (/rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:146:20)
at /rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:191:11
at new Promise (<anonymous>)
at new F (/rp-web/node_modules/core-js/library/modules/$.export.js:30:36)
at callInvokeWithMethodAndArg (/rp-web/node_modules/testcafe-browser-tools/node_modules/babel-runtime/regenerator/runtime.js:190:16)

Type "testcafe -h" for help.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Exited with code 1

вот так выглядит мой yml:

jobs:
   build-and-test:
    working_directory: /repo
    docker:
      - image: node:10.5.0
      - image: circleci/node:11.6-browsers

Кроме того, попытался выполнить команду запуска без песочницы, но получил ту же ошибку:

testcafe chrome:headless uitests/tests/* -r xunit:/tmp/test results/res.xml -e --no-sandbox

Я успешно могу запускать вещи локально, но не могу запустить на CircleCi. Может кто-нибудь помочь с этим о том, как это исправить?

1 Ответ

0 голосов
/ 23 января 2019

Я думаю, удаление строки "- image: node:10.5.0" из вашей конфигурации исправит эти ошибки. Я создал пример проекта (https://github.com/AndreyBelym/testcafe-example-circle-ci) и настроил сборки CircleCI (https://circleci.com/gh/AndreyBelym/testcafe-example-circle-ci) для проверки моего предположения.

Если указать несколько образов контейнеров в конфигурации задания сборки, первое изображение будет считаться основным контейнером, а все остальные изображения - вторичными контейнерами. Все шаги сборки выполняются в основном контейнере, а вторичные контейнеры запускаются в фоновом режиме и доступны для шагов сборки только через общую сеть. Вы можете прочитать больше об этом в Выбор типа исполнителя - Использование нескольких образов Docker .

Ваша конфигурация задания сборки:

jobs:
   build-and-test:
    working_directory: /repo
    docker:
      - image: node:10.5.0
      - image: circleci/node:11.6-browsers

означает, что вы пытаетесь запустить TestCafe в node:10.5.0, на котором не установлены браузеры. Вот почему TestCafe не может найти браузер и выдает ошибку "Error: Unable to run the browser. The browser path or command template is not specified.".

Кроме того, поскольку node:10.5.0 использует специальную учетную запись пользователя с ограниченными привилегиями, node:11.6.0-browsers выдает ошибку "_XSERVTransmkdir: ERROR: euid != 0", поскольку ему требуются права администратора для запуска Xvfb - виртуального сервера X11 (т. Е. Виртуального рабочего стола).

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