如何使用 NPM 从目录运行单个 Playwright + Cucumber 自动化功能文件/一组功能文件

问题描述 投票:0回答:1

问题陈述:我想知道如何配置 npm run test 命令,以便我可以从 dir 路径/文件夹运行一组功能文件/单个功能文件。

背景:我有一个使用 Playwright + Cucumber BDD + NPM + JavaScript 的自动化设置。我的执行脚本在 package.json 上定义,相应的配置详细信息在 cucumber.js 上定义。

当前设置:根据我当前的设置,当我运行

npm run test:env
命令时,它会运行整个套件。当我将 @TagName 添加到功能文件或特定场景后运行
npm run test:env --TAGS="@TagName"
命令时,它会单独运行这些测试。

有没有一种方法可以将目录路径传递给 npm run 命令,并运行该目录下的所有功能?

其他详情: 我有标签配置设置(标签:cucumber.js 中的 process...npm_config_tags),每当我在测试文件中设置特定标签并执行命令 npm run test:env --TAGS="@TagName" ,它仅执行具有该特定标签的测试。我想要一个类似的设置,使用它可以将文件夹路径传递给命令,并运行该文件夹下的所有测试。

这就是我的 package.json 的样子:

{
  "name": "playwright-js-cucumber",
  "version": "1.0.0",
  "description": "",
  "main": "/index.js",
  "scripts": {
    "pretest": "npx node src/helper/report/init.js",
    "test": "cross-env ENV-qa cucumber-js-config-config/cucumber.js || true",
    "test:qa": "cross-env ENV-qa cucumber-js-config-config/cucumber.js || true",
    "posttest": "npx node src/helper/report/report.js",
    "posttest:qa": "npx node src/helper/report/report.js",
    "test: failed": "cucumber-js @rerun.txt",
    "postinstall": "npx playwright install"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    #The List Of Dependencies
  },
  "dependencies": {
    "@types/cucumber": "^7.0.0",
    "@types/node": "^20.5.7",
    "dotenv": "^16.3.1",
    "luxon": "^3.4.4",
    "xlsx": "0.18.5"
  }
}

这就是我的 cucumber.js 的样子:

module.exports = {
    default: {
        tags: process.env.npm_config_tags || '',
        formatOptions: {
            snippetInterface: 'async-await',
        },
        paths: [
            'src/test/features/*.feature',
            'src/test/features/**/*.feature',
        ],
        publishQuite: false,
        dryRun: false,
        require: [
            'src/test/steps/*.js',
            'src/test/steps/**/*.js',
            'src/test/steps/**/**/*.js',
            'src/hooks/hooks.js',
        ],
        requireModule: ['@babel/register'],
        format: [
            'progress-bar',
            'html:test-results/cucumber-report.html',
            'json:test-results/cucumber-report.json',
            'rerun:@rerun.txt',
        ],
        parallel: 2,
    },
};
npm cucumber playwright
1个回答
0
投票

为了运行单个功能文件,请使用此方法 改变路径

“路径”:[“src/features/.feature”],

并在终端中运行此命令

npm run test src/features/file1

© www.soinside.com 2019 - 2024. All rights reserved.