从Git批量导入测试用例
1. 概述
Testany 平台推出的从 Git 批量导入测试用例 功能允许用户从 Git 仓库导入多个测试用例。这有助于通过与源代码控制同步,保持结构化且最新的测试用例库。
主要优势:
自动化导入测试用例,减少手动操作
确保测试用例与最新代码变更保持同步
支持 Bitbucket 和 GitHub 仓库
2. 先决条件
2.1 创建 Git 仓库凭证
为了以只读模式访问 Git 资源,需要生成访问令牌(Access Token)并安全存储于以下位置:
Azure Key Vault
AWS Secrets Manager
👉 参考文档:
创建令牌后,请联系您所在的工作区的管理员在Testany中注册该凭证。
👉 参考文档:管理测试过程中的凭证
2.2 组织 Git 目录结构
合理的 Git 目录结构有助于提高测试用例管理的效率。
关键考虑点:
保持稳定、合理的目录结构,并将测试脚本存放在结构化的目录中。
了解目录变更对已导入测试用例的影响:
如果脚本文件被删除、重命名或重构,它们将会被自动从导入历史中移除,并与 Testany 解除关联。
此外,Testany 中对应已注册的测试用例也将被自动删除或解除关联(详见 #3.2)。
📝 建议:为了避免不必要的删除和重新导入,请在 首次批量导入前 规划好目录结构。如需变更目录,应 合理更新导入历史 以最小化对测试用例的影响。
2.3 确定分支、版本和导入负责人
在执行批量导入之前,请明确以下内容:
分支(Branch): 选择一个稳定分支,以确保测试的可靠性。
版本(Version): 可选择导入 最新提交 或 指定提交 ID。
导入负责人(Import History Owner): 规划导入的内容及负责导入的人员。每个仓库都应有指定的负责人,以确保正确维护和管理。
3. 步骤指南
3.1 创建新的批量导入记录
3.1.1 访问批量导入 ‘Import from Git’ 界面
进入‘Test Case Library’ 页面
点击 ‘Register test case’ 旁的箭头 ‘↓’
选择 ‘Import from Git’

3.1.2 创建新的导入
在向导的第 1 步,点击 ‘Create new import’。

3.1.3 选择运行时
在向导的第 2 步,展开运行时(Runtime)下拉列表,选择一个运行时,然后点击 “下一步”。如果某个运行时不可用,它将显示为灰色且不可选。

3.1.4 添加仓库信息
在向导的第 3 步,填写以下信息并点击 “下一步”:
仓库类型:Bitbucket 或 GitHub
仓库 URL:
https://bitbucket.org/workspace/repo.git
orhttps://github.com/username/repo.git
访问凭证:选择已配置的凭证(参考 #2.1)

3.1.5 选择目录
在向导的第 4 步,提供以下信息并点击 “下一步”:
分支(Branch):选择包含稳定测试用例文件的分支
提交(Commit):
最新提交:导入最新提交版本的测试脚本
指定提交:导入某个特定提交版本的测试脚本

根目录(Root Directory):
导入整个仓库:请勿选择任何目录
导入特定目录:选择一个目录,仅导入该目录及其子目录内的可运行的测试脚本

如果您想导入整个仓库但误选了某个目录,此选择无法在当前会话中撤销,请您重新开始批量导入流程。
3.1.6 选择脚本
在向导的第 5 步,选择要导入的脚本并点击 “提交”。
全选(Select all):选择所有Testany支持的测试脚本文件(*.py, *.json, *.java, *.jmx)
选择特定文件:从目录中手动勾选Testany支持的测试脚本文件
✔️ 提示:
所选文件将作为该测试用例的主执行脚本。在包含多个文件的测试结构中,仅需选择负责启动或控制测试流程的核心脚本,无需额外选取所有依赖或辅助文件。
每个被选中的文件都将被注册为一个 Testany 测试用例。
选中脚本的总数量将显示在对话框左下角。

提交导入请求后,本次导入历史将被自动存档,可在稍后访问并修改(参考 #3.2.2)。
导入过程可能需要一些时间,特别是当测试用例数量较多时。请耐心等待导入完成。

3.1.7 验证测试用例
导入完成后,请在 “验证”('Validation')页面查看测试用例详情,然后进行批量注册。

3.1.7.1 查看测试用例详情(可选步骤)
在 “验证”('Validation') 页面,点击 “测试用例列表” ('Test case list')面板中的某个测试用例,将展开 “测试用例详情” ( 'Test case details')面板,显示该用例的具体信息。
如果需要调整字段值,可逐个编辑测试用例,或者在导入完成后操作批量更新(参考批量管理测试用例)。

测试用例字段 | 默认值 | 支持编辑? | |
---|---|---|---|
1 | 名字(Name) |
| 是 |
2 | 描述(Description) | ”Import from | 是 |
3 | 运行时(Runtime name) | 所选运行时 | 否 |
4 | 可见性(Visibility) |
| 是 |
5 | 环境变量(Environment Variables) | 无 | 是 |
6 | 执行器(Executor) | 根据文件类型自动匹配:
| 是 |
7 | 执行方式(Trigger command / trigger path) | 根据执行器决定:
| 是 |
8 | 标签(Labels) | 所有相对于选定根目录的父级目录名会作为标签自动添加 | 是 |
9 | 版本(Version) |
| 否 |
10 | 创建者(Creator) | 执行导入的Testany用户 | 否 |
11 | 被测环境的名字(Environments) | 无 | 是 |
12 | 仓库地址(Repository address) | 所选仓库的完整地址 | 否 |
13 | 分支(Branch) | 所选分支名 | 否 |
14 | 提交号(Commit ID) |
| 否 |

3.1.7.2 验证
在进行批量注册之前,所有导入的测试用例须通过 Testany 的验证。
点击 ‘Validate’ 按钮进行校验。如成功,系统将显示消息:’All test cases validated successfully!‘。

3.1.8. 批量注册测试用例
点击 “注册测试用例” ( ‘Register Test Cases’ )按钮完成导入。当测试用例成功注册后,系统会显示确认信息。

3.1.9 查看已注册的测试用例
您可通过组合搜索查找测试用例,例如: 标签labels
= {repository_name}
& 创建开始时间created_from
= {registration_date}
& 所有者owner
= {user_id}

您也可以在测试用例详情中找到跟 Git 相关的信息(参考 #3.1.7.1)。
标签(Labels)
版本(Version)
执行器(Executor)
执行方式(Trigger path / trigger command)
源代码(Source):源文件的完整 URL,点击图标可在新标签页中打开该文件。

3.2 更新导入历史记录
3.2.1 访问批量导入 ‘Import from Git’ 界面
进入‘Test Case Library’ 页面
点击 ‘Register test case’ 旁的箭头 ‘↓’
选择 ‘Import from Git’

3.2.2 选择导入历史记录
在向导的 第 1 步,展开 “导入历史记录”(‘import history’)下拉菜单
选择要编辑的导入历史记录
✔️ 提示:“导入历史记录”的命名规则为 “{所选根目录}
of {分支}
@{提交ID}
in {仓库名称}
from {仓库类型}
“

3.2.3 修改文件选择
在 向导的第 5 步 ,之前被导入的文件默认被选中。如需调整文件选择,修改后点击 “提交” 以继续。
重要说明:
如果之前导入的文件被重命名或移动,它将不再出现在导入向导中,已注册的测试用例将在导入完成后被 删除或解除关联(详见 #3.3.2).
如果手动取消选择之前导入的文件,它将从该导入历史记录中移除(系统会弹出确认消息),对应的测试用例将在导入完成后 被删除或解除关联(详见 #3.3.2).
对于“最新提交”类型的导入历史记录,在上次导入时不存在的文件(包括新增、重命名或恢复的文件)将在导入向导中显示,但默认未选中。
对于“指定提交”类型的导入历史记录,在所选提交中不存在的文件(包括新增、重命名或恢复的文件)不会显示在导入向导中。
3.2.4 验证测试用例
导入完成后,进入 “验证”(‘Validation’)页面,检查测试用例详情,并点击 “验证”(‘Validate’)按钮继续。
如果需要调整字段值,可在此步骤中 逐个编辑,或在导入后操作 批量更新(参考 批量管理测试用例)。
测试用例字段 | 默认值 | 支持编辑? | |
---|---|---|---|
1 | 名字(Name) | 最新值 | 是 |
2 | 描述(Description) | 最新值 | 是 |
3 | 运行时(Runtime name) | 最新值 | 否 |
4 | 可见性(Visibility) | 最新值 | 是 |
5 | 环境变量(Environment Variables) | 最新值 | 是 |
6 | 执行器(Executor) | 最新值 | 是 |
7 | 执行方式(Trigger command / trigger path) | 最新值 | 是 |
8 | 标签(Labels) | 最新值 | 是 |
9 | 版本(Version) |
| 否 |
10 | 创建者(Creator) | 最新值 | 否 |
11 | 被测环境的名字(Environments) | 最新值 | 是 |
12 | 仓库地址(Repository address) | 最新值 | 否 |
13 | 分支(Branch) | 最新值 | 否 |
14 | 提交号(Commit ID) | 最新值 | 否 |
注意事项:
所有已导入的文件,除 版本(
version
) 之外,其最新值都会被预加载,并不会被覆盖,除非在此步骤中它们被人为修改。
版本(
version
)字段在每次导入时都会被更新。
3.2.5. 批量注册测试用例
点击 “注册测试用例”(‘Register Test Cases’)按钮完成导入。成功注册后,系统将显示确认消息。
3.3 删除导入历史记录
3.3.1 访问批量导入 ‘Import from Git’ 界面
进入‘Test Case Library’ 页面
点击 ‘Register test case’ 旁的箭头 ‘↓’
选择 ‘Import from Git’

3.3.2 选择并删除导入历史记录
在删除导入历史之前,请仔细评估该操作对已注册测试用例的影响。
删除的影响:
未关联测试流水线(Test Pipeline)的测试用例 → 将被永久删除。
已关联测试流水线的测试用例 → 不会被删除,但会与 Git 仓库解除关联。若需要删除这些测试用例,您需 先从流水线中移除,然后在删除导入历史后手动删除。
在向导的第 1 步,展开 “导入历史记录”(‘import history’)下拉菜单
选择要编辑的导入历史记录,点击其右侧的 删除按钮 :trash: 进行删除(⚠️ 删除操作不会弹出确认提示,请谨慎操作!)

5. 常见问题(FAQ)
为什么在创建新导入的第 3 步中,我看到“无法获取分支,请检查仓库地址和访问令牌”('Failed to fetch branches, please check the repository address and access token')错误?

💡 请确保 Git URL 可访问,并已选择正确的凭证(参考 #3.1.4)。
为什么在创建新导入的第 5 步中,我看到“导入历史已存在,请选择该历史继续”('The import history already exists, please select the history to continue')错误?

💡 您正在尝试重复导入相同的 仓库 & 分支 & 提交ID。
为什么我在导入向导中看不到某些测试用例?
💡 请检查这些文件是否在 Git 仓库中被重命名或移动。如果文件路径未更改,请确认在此次导入中选择了正确的 分支 / 提交 ID / 根目录(详见 #3.1.5 或 #3.2.2)。
为什么 Testany 提示测试文件被删除?

💡 可能的原因包括:测试脚本在 Git 仓库中被删除、重命名或路径发生变化;或者在编辑导入历史时,您手动取消选择了某个文件(详见 #3.2.3)。
为什么我无法删除某些测试用例?
💡 您可以删除:直接上传(Direct-upload)且您是其所有者的测试用例,或由 Git 导入且操作者为您的测试用例(详见下方✔️适用场景)。

为什么导入历史记录被修改后,我的测试用例版本
version
发生了变化?
💡 版本 version
字段在每次导入过程中都会被自动更新(详见 #3.2.4 中的关键说明)。
如何追踪测试用例来源的 Git 仓库及提交记录?
💡 进入测试用例详情,光标悬停在 源码('Source') 上方,或直接点击其图标在新标签页中打开源文件(详见 #3.1.9)。