Не удалось запустить мои тестовые наборы CodeceptJS в Chrome без головы - PullRequest
1 голос
/ 11 ноября 2019

У меня есть установка CodeceptJS для моего приложения, и тесты проходят гладко. Но теперь я хочу, чтобы они запускали хром без головы. Пробовал несколько вещей, упомянутых на официальном сайте, но у меня это не работает.

Я пытаюсь запустить свои тесты с npx codeceptjs run --verbose.

Мой файл codecept.conf.js выглядит так:

exports.config = {
  tests: './tests/features/**/*_test.js',
  output: './tests/output',
  helpers: {
    WebDriver: {
      smartwait: 10000,
      waitForTimeout: 10000,
      url: 'https://affinity.sourcefuse.com',
      browser: 'chrome',
      windowSize: 'maximize',
      chromeOptions: {
        args: [ "--headless", "--disable-gpu", "--window-size=800,600"]
      }
    }
  },
  include: {
    I: './steps_file.js',
    createDatasetPage: 'tests/pages/createDataset.js',
  },
  bootstrap: null,
  mocha: {},
  name: 'dashboard',
  plugins: {
    "allure": {
      "enabled": true
    },
    wdio: {
      enabled: true,
      services: ['selenium-standalone']
    }
  }
}

Факт: Chrome запущен и тест запускается.

Ожидается: я хочу, чтобы он работал на Chrome без головы.

1 Ответ

1 голос
/ 12 ноября 2019

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

exports.config = {
  tests: './tests/features/**/*_test.js',
  output: './tests/output',
  helpers: {
    WebDriver: {
      smartwait: 10000,
      waitForTimeout: 10000,
      url: 'https://affinity.sourcefuse.com',
      browser: 'chrome',
      windowSize: 'maximize',
      desiredCapabilities: {
        chromeOptions: {
          args: ["--headless", "--disable-gpu", "--no-sandbox"]
        }
      }
    }
  },
  include: {
    I: './steps_file.js',
    createDatasetPage: 'tests/pages/createDataset.js',
  },
  bootstrap: null,
  mocha: {},
  name: 'dashboard',
  plugins: {
    "allure": {
      "enabled": true
    },
    wdio: {
      enabled: true,
      services: ['selenium-standalone']
    }
  }
}

Я удалил windowSize из args, так как он уже установлен с windowSize ивместо этого добавлено no-sandbox, как рекомендуется для автоматизации тестирования.

...