Назад | Перейти на главную страницу

Модульные тесты Karma не работают в Google Cloud Build с Puppeteer

Я пытаюсь запустить ChromeHeadless с кукловодом, чтобы запустить свои модульные тесты. Однако я не могу запустить ChromeHeadless и получаю следующую ошибку.

03 07 2019 03:19:25.066:INFO [karma-server]: Karma v4.1.0 server started at http://0.0.0.0:9876/
03 07 2019 03:19:25.071:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
03 07 2019 03:19:25.080:INFO [launcher]: Starting browser ChromeHeadless
03 07 2019 03:19:25.573:ERROR [launcher]: Cannot start ChromeHeadless
/workspace/node_modules/puppeteer/.local-chromium/linux-672088/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory

03 07 2019 03:19:25.574:ERROR [launcher]: ChromeHeadless stdout: 
03 07 2019 03:19:25.574:ERROR [launcher]: ChromeHeadless stderr: /workspace/node_modules/puppeteer/.local-chromium/linux-672088/chrome-linux/chrome: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory

В моем Karma.conf.js у меня есть ::

    browsers : ['ChromeHeadlessCustom'],
    customLaunchers: {
      ChromeHeadlessCustom: {
        base: 'ChromeHeadless',
        flags: ['--no-sandbox', '--disable-setuid-sandbox']
      }
    },

cloudbuild.yaml ::

  - name: 'gcr.io/cloud-builders/npm:node-10.10.0'
    id: 'Install Puppeteer'
    args: ['install',  'puppeteer']

  - name: 'gcr.io/cloud-builders/npm:node-10.10.0'
    id: 'Test'
    args: ['run', 'test']

Выбран док-контейнер, нет необходимых пакетов для запуска хрома; Вы должны изменить, на обновленный;

cloud build.yaml для запуска тестов headless-chrome (также вы должны поместить puppeeter в зависимости в вашем package.json):

- name: 'buildkite/puppeteer'
  args: ['npm','install']
- name: 'buildkite/puppeteer'
  args: ['npm', 'run', 'test', ]