微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 codeceptjs 中的 codecept.conf.js 中使用 { grep: process.env.profile}

如何解决如何在 codeceptjs 中的 codecept.conf.js 中使用 { grep: process.env.profile}

我想在我的 codecept.conf.js 中使用 { grep: process.env.profile} 然后例如Scenario(...).tag("dev")(或 Feature(...) 相同)。 因此,如果我使用 --profile dev 运行测试,则会执行上述场景。它将被跳过 --profile prod

请帮助我,任何人,我在 codecept.conf.js 文件中完全使用 { grep: process.env.profile} 的地方。

    const { setHeadlessWhen } = require('@codeceptjs/configure');

// turn on headless mode when running with HEADLESS=true environment variable
// export HEADLESS=true && npx codeceptjs run
setHeadlessWhen(process.env.HEADLESS);

exports.config = {
  tests: './*_test.js',output: './output',helpers: {


    Puppeteer: {
      url: 'https://www.eme.com',show: true,}
  },include: {
    I: './steps_file.js'
  },bootstrap: null,mocha: {},name: 'extramarks_puppeteer',plugins: {
    pauSEOnFail: {},retryFailedStep: {
      enabled: true
    },tryTo: {
      enabled: true
    },screenshotOnFail: {
      enabled: true
    }
  }
}

解决方法

为本地/默认执行配置配置您的默认 codecept.conf.js。

exports.config = {
  tests: './*_test.js',output: './output',grep: 'dev',.....

在同一目录中为您想要的每个配置文件创建另一个 conf 文件。 (即 prod.conf.js)

在您的 prod.conf.js 文件中,您可以通过使用 lodash 来分配您想要的内容来扩展您的默认配置文件。您的 prod.conf.js 文件将如下所示:

const merge = require("lodash.merge");
const { config: baseConfig } = require("./codecept.conf.js");

const specificConfig = {
    grep: '',helpers: {
        WebDriver: {
            protocol: "http",host: process.env.SELENIUM_STANDALONE_CHROME_PORT_4444_TCP_ADDR || "127.0.0.1",port: 4444,},plugins: {
        wdio: {
            enabled: false
        }
    }
};
exports.config = merge(baseConfig,specificConfig);

为了使用此特定配置运行 codeceptjs,您需要指定如下配置文件:

npx codeceptjs -c prod.conf.js

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。