You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java+IntelliJ中用Maven构建脚本运行带标签的Cucumber .feature文件

Java+Cucumber+Maven 按标签批量执行测试方案

方式一:用Maven Profiles配置(官方推荐,无额外依赖)

直接在项目的pom.xml中添加Profiles,每个Profile对应一个标签的测试命令,省去每次手动输入长命令的麻烦:

<profiles>
    <!-- 登录相关测试 -->
    <profile>
        <id>login</id>
        <properties>
            <cucumber.options>src/test/resources/features --tags @login</cucumber.options>
        </properties>
    </profile>
    <!-- 回归测试 -->
    <profile>
        <id>regression</id>
        <properties>
            <cucumber.options>src/test/resources/features --tags @regression</cucumber.options>
        </properties>
    </profile>
    <!-- 可按需添加更多标签对应的Profile -->
</profiles>

执行时只需指定Profile ID:

  • 运行登录测试:mvn clean test -P login
  • 运行回归测试:mvn clean test -P regression

方式二:用package.json配置scripts(和JS示例逻辑一致,需Node环境)

如果你的项目有Node环境,可以在根目录创建package.json,把长命令封装成简短的脚本名,和JS项目的使用逻辑完全一致:

{
  "scripts": {
    "test:login": "mvn clean test -Dcucumber.options=\"src/test/resources/features --tags @login\"",
    "test:regression": "mvn clean test -Dcucumber.options=\"src/test/resources/features --tags @regression\""
  }
}

执行方式:

  • 运行登录测试:npm run test:login
  • 运行回归测试:npm run test:regression

方式三:自定义Shell脚本(纯Java环境适用)

如果没有Node环境,可在项目根目录创建test-scripts.sh脚本:

#!/bin/bash

# 登录测试执行逻辑
test_login() {
    mvn clean test -Dcucumber.options="src/test/resources/features --tags @login"
}

# 回归测试执行逻辑
test_regression() {
    mvn clean test -Dcucumber.options="src/test/resources/features --tags @regression"
}

# 根据传入参数执行对应测试
case $1 in
    login) test_login ;;
    regression) test_regression ;;
    *) echo "请指定测试类型:login 或 regression" ;;
esac

给脚本添加执行权限:chmod +x test-scripts.sh
执行时:

  • 运行登录测试:./test-scripts.sh login
  • 运行回归测试:./test-scripts.sh regression

内容的提问来源于stack exchange,提问作者dfpaezo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:12:05