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

如何通过Jenkins传递Karate框架中Feature文件注解以动态执行用例

实现Jenkins动态指定Karate Feature文件运行

步骤1:配置Jenkins参数化构建

在你的Jenkins作业中开启参数化构建,添加对应参数:

  • 核心参数(指定Feature文件):新增字符串参数,名称设为TARGET_FEATURE,默认值填**/*.feature(保持默认即可运行全部用例),描述可写“输入要运行的Karate Feature文件路径,支持通配符。示例:classpath:com/test/login.feature(类路径)、**/payment/*.feature(批量匹配目录下文件)”
  • 可选参数(指定注解标签):如果需要同时过滤Feature文件里的标签(比如@smoke、@regression),再新增一个字符串参数TARGET_TAGS,默认值可设为~@ignore(排除标记为忽略的用例)或留空。

步骤2:修改Jenkins构建命令

根据你使用的构建工具,调整命令将Jenkins参数传入Karate运行参数:

Maven环境

把原来的全量运行命令(比如mvn clean test -Dkarate.env=test)替换为:

mvn clean test -Dkarate.env=test -Dkarate.options="${TARGET_FEATURE} ${TARGET_TAGS:+--tags ${TARGET_TAGS}}"

逻辑说明:${TARGET_TAGS:+--tags ${TARGET_TAGS}}是可选判断,只有当TARGET_TAGS有值时才拼接标签参数,避免空值导致运行报错。

Gradle环境

修改构建命令为:

gradle test -Pkarate.env=test -Pkarate.options="${TARGET_FEATURE} ${TARGET_TAGS:+--tags ${TARGET_TAGS}}"

注意要确保你的build.gradle中Karate任务已配置支持读取karate.options参数。

步骤3:验证运行

触发Jenkins构建时,在参数输入框填写具体的Feature文件路径(比如classpath:com/test/checkout.feature),即可只运行该文件;如果需要结合标签过滤,在TARGET_TAGS中输入@smoke,就会运行该文件下标记为@smoke的用例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:05:12