You need to enable JavaScript to run this app. Jenkins如何基于Git提交记录仅执行变更的Robot Framework测试文件
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins如何基于Git提交记录仅执行变更的Robot Framework测试文件

可行实现方案如下

1. 拉取变更文件列表

首先在Jenkins构建的Shell执行步骤中,通过Git命令对比本次提交和上一次构建成功的提交差异,过滤出所有后缀为.robot的变更文件:

# 过滤出两次提交之间变更的robot测试文件
CHANGED_ROBOT_CASES=$(git diff --name-only $GIT_PREVIOUS_SUCCESSFUL_COMMIT $GIT_COMMIT | grep '\.robot$')

注:$GIT_PREVIOUS_SUCCESSFUL_COMMIT和$GIT_COMMIT是Jenkins Git插件默认提供的环境变量,无需额外配置

2. 加兜底逻辑避免异常

如果是首次构建、或者本次提交没有变更任何robot用例,可以加兜底逻辑执行全量用例或者直接退出构建:

if [ -z "$CHANGED_ROBOT_CASES" ]
then
  echo "未检测到Robot用例变更/首次构建,执行全量用例"
  robot ./
  exit 0
fi

3. 仅执行变更的用例

直接将筛选出的变更用例路径作为参数传给robot命令即可:

robot $CHANGED_ROBOT_CASES

扩展适配场景

如果你的框架存在公共关键字、公共变量等依赖文件,修改这类文件会影响所有测试用例,可以额外加检测逻辑,只要这类文件变更就执行全量用例:

# 示例:检测公共关键字目录是否有变更
CHANGED_PUBLIC_FILES=$(git diff --name-only $GIT_PREVIOUS_SUCCESSFUL_COMMIT $GIT_COMMIT | grep '^Keywords/')
if [ -n "$CHANGED_PUBLIC_FILES" ]
then
  echo "检测到公共依赖文件变更,执行全量测试用例"
  robot ./
  exit 0
fi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 06:15:04