Skip to main content
Skip table of contents

从Git批量导入测试用例

1. 概述

Testany 平台推出的从 Git 批量导入测试用例 功能允许用户从 Git 仓库导入多个测试用例。这有助于通过与源代码控制同步,保持结构化且最新的测试用例库。

主要优势:

  • 自动化导入测试用例,减少手动操作

  • 确保测试用例与最新代码变更保持同步

  • 支持 BitbucketGitHub 仓库

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’ 界面

  1. 进入‘Test Case Library’ 页面

  2. 点击 ‘Register test case’ 旁的箭头 ‘↓’

  3. 选择 ‘Import from Git’

image-20250318-040135.png

3.1.2 创建新的导入

在向导的第 1 步,点击 ‘Create new import’。

image-20250318-105230.png

3.1.3 选择运行时

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

image-20250326-085344.png

3.1.4 添加仓库信息

在向导的第 3 步,填写以下信息并点击 “下一步”:

  • 仓库类型:Bitbucket 或 GitHub

  • 仓库 URL:https://bitbucket.org/workspace/repo.git or https://github.com/username/repo.git

  • 访问凭证:选择已配置的凭证(参考 #2.1

image-20250318-110212.png

3.1.5 选择目录

在向导的第 4 步,提供以下信息并点击 “下一步”:

  • 分支(Branch):选择包含稳定测试用例文件的分支

  • 提交(Commit):

    • 最新提交:导入最新提交版本的测试脚本

    • 指定提交:导入某个特定提交版本的测试脚本

image-20250324-065202.png
  • 根目录(Root Directory):

    • 导入整个仓库:请勿选择任何目录

    • 导入特定目录:选择一个目录,仅导入该目录及其子目录内的可运行的测试脚本

image-20250319-032630.png

如果您想导入整个仓库但误选了某个目录,此选择无法在当前会话中撤销,请您重新开始批量导入流程。

3.1.6 选择脚本

在向导的第 5 步,选择要导入的脚本并点击 “提交”。

  • 全选(Select all):选择所有Testany支持的测试脚本文件(*.py, *.json, *.java, *.jmx)

  • 选择特定文件:从目录中手动勾选Testany支持的测试脚本文件

✔️ 提示:

  1. 所选文件将作为该测试用例的主执行脚本。在包含多个文件的测试结构中,仅需选择负责启动或控制测试流程的核心脚本,无需额外选取所有依赖或辅助文件。

  2. 每个被选中的文件都将被注册为一个 Testany 测试用例。

  3. 选中脚本的总数量将显示在对话框左下角。

image-20250319-032819.png

提交导入请求后,本次导入历史将被自动存档,可在稍后访问并修改(参考 #3.2.2)。

导入过程可能需要一些时间,特别是当测试用例数量较多时。请耐心等待导入完成。

image-20250319-033013.png

3.1.7 验证测试用例

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

image-20250319-033447.png
3.1.7.1 查看测试用例详情(可选步骤)

在 “验证”('Validation') 页面,点击 “测试用例列表” ('Test case list')面板中的某个测试用例,将展开 “测试用例详情” ( 'Test case details')面板,显示该用例的具体信息。

如果需要调整字段值,可逐个编辑测试用例,或者在导入完成后操作批量更新(参考批量管理测试用例)。

image-20250325-073632.png

测试用例字段

默认值

支持编辑?

1

名字(Name)

{父级目录}.{文件名}

2

描述(Description)

”Import from {仓库地址}

3

运行时(Runtime name)

所选运行时

4

可见性(Visibility)

全局可见

5

环境变量(Environment Variables)

6

执行器(Executor)

根据文件类型自动匹配:

  • pyres (*.py)

  • postmane (*.json)

  • maven (*.java)

  • jmeter (*.jmx)

7

执行方式(Trigger command / trigger path)

根据执行器决定:

  • pyres/pythontrigger_command: “python {所选文件相对根目录的相对路径}"

  • postmane/maven/gradle/jmetertrigger_path{所选文件相对根目录的相对路径}

8

标签(Labels)

所有相对于选定根目录的父级目录名会作为标签自动添加

9

版本(Version)

  1. 最新提交: 自动提取所选分支的所有标记(tag)中的最新标记作为版本号;若该分支无任何标记,则为

  2. 指定提交: 自动提取所选分支的标记(tag)作为版本号;若该分支无任何标记,则为

10

创建者(Creator)

执行导入的Testany用户

11

被测环境的名字(Environments)

12

仓库地址(Repository address)

所选仓库的完整地址

13

分支(Branch)

所选分支名

14

提交号(Commit ID)

  1. 最新提交:empty

  2. 指定提交:{指定提交的ID}

image-20250325-073212.png
3.1.7.2 验证

在进行批量注册之前,所有导入的测试用例须通过 Testany 的验证。

点击 Validate 按钮进行校验。如成功,系统将显示消息:’All test cases validated successfully!‘。

image-20250319-071527.png

3.1.8. 批量注册测试用例

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

image-20250319-072114.png

3.1.9 查看已注册的测试用例

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

image-20250324-084703.png

您也可以在测试用例详情中找到跟 Git 相关的信息(参考 #3.1.7.1)。

  1. 标签(Labels)

  2. 版本(Version)

  3. 执行器(Executor)

  4. 执行方式(Trigger path / trigger command)

  5. 源代码(Source):源文件的完整 URL,点击图标可在新标签页中打开该文件。

  6. 删除按钮已禁用,如需删除测试用例,请参考 #3.2.3#3.3

image-20250324-084025.png

3.2 更新导入历史记录

3.2.1 访问批量导入 ‘Import from Git’ 界面

  1. 进入‘Test Case Library’ 页面

  2. 点击 ‘Register test case’ 旁的箭头 ‘↓’

  3. 选择 ‘Import from Git’

image-20250318-040135.png

3.2.2 选择导入历史记录

  1. 在向导的 第 1 步,展开 “导入历史记录”(‘import history’)下拉菜单

  2. 选择要编辑的导入历史记录

✔️ 提示:“导入历史记录”的命名规则为 “{所选根目录} of {分支}@{提交ID} in {仓库名称} from {仓库类型}

image-20250319-113154.png

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)

  1. 最新提交: 自动提取所选分支的所有标记(tag)中的最新标记作为版本号;若该分支无任何标记,则为

  2. 指定提交: 自动提取所选分支的标记(tag)作为版本号;若该分支无任何标记,则为

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’ 界面

  1. 进入‘Test Case Library’ 页面

  2. 点击 ‘Register test case’ 旁的箭头 ‘↓’

  3. 选择 ‘Import from Git’

image-20250318-040135.png

3.3.2  选择并删除导入历史记录

在删除导入历史之前,请仔细评估该操作对已注册测试用例的影响。

删除的影响:

  • 未关联测试流水线(Test Pipeline)的测试用例 → 将被永久删除。

  • 已关联测试流水线的测试用例 → 不会被删除,但会与 Git 仓库解除关联。若需要删除这些测试用例,您需 先从流水线中移除,然后在删除导入历史后手动删除。

  1. 在向导的第 1 步,展开 “导入历史记录”(‘import history’)下拉菜单

  2. 选择要编辑的导入历史记录,点击其右侧的 删除按钮 :trash: 进行删除(⚠️ 删除操作不会弹出确认提示,请谨慎操作!

image-20250319-091539.png

5. 常见问题(FAQ)

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

image-20250324-074017.png

💡 请确保 Git URL 可访问,并已选择正确的凭证(参考 #3.1.4)。

(question) 为什么在创建新导入的第 5 步中,我看到“导入历史已存在,请选择该历史继续”('The import history already exists, please select the history to continue')错误?

image-20250324-072544.png

💡 您正在尝试重复导入相同的 仓库 & 分支 & 提交ID

  • 若要更新现有导入,请前往 编辑导入历史记录(参考 #3.2)。

  • 若需全新导入,请选择不同的 分支或提交ID或根目录(参考 #3.1.5)。

(question) 为什么我在导入向导中看不到某些测试用例?

💡 请检查这些文件是否在 Git 仓库中被重命名或移动。如果文件路径未更改,请确认在此次导入中选择了正确的 分支 / 提交 ID / 根目录(详见 #3.1.5#3.2.2)。

(question) 为什么 Testany 提示测试文件被删除?

image-20250324-081509.png

💡 可能的原因包括:测试脚本在 Git 仓库中被删除、重命名或路径发生变化;或者在编辑导入历史时,您手动取消选择了某个文件(详见 #3.2.3)。

(question) 为什么我无法删除某些测试用例?

💡 您可以删除:直接上传(Direct-upload)且您是其所有者的测试用例,或由 Git 导入且操作者为您的测试用例(详见下方✔️适用场景)。

image-20250324-082814.png

(question) 为什么导入历史记录被修改后,我的测试用例版本version发生了变化?

💡 版本 version 字段在每次导入过程中都会被自动更新(详见 #3.2.4 中的关键说明)。

(question) 如何追踪测试用例来源的 Git 仓库及提交记录?

💡 进入测试用例详情,光标悬停在 源码('Source') 上方,或直接点击其图标在新标签页中打开源文件(详见 #3.1.9)。

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.