无法 运行 我的无头 CodeceptJS 测试用例 chrome

Not able to run my CodeceptJS testcases in headless chrome

我为我的应用程序设置了 CodeceptJS 框架,测试运行非常顺利。 但现在我希望他们 运行 无头 chrome。尝试了官方网站上提到的一些东西,但它对我不起作用。

我尝试 运行 我的测试 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 已启动且测试开始至 运行。

预期:我希望它 运行ning on headless chrome。

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']
    }
  }
}

我从 args 中删除了 windowSize,因为它已经用 windowSize 设置并添加了 no-sandbox,因为建议用于测试自动化。