UFT One 和版本控制系统
相关项: GUI 测试、API 测试和函数库
直接从 UFT One 使用版本控制系统,例如 SVN 或 Git。
受支持的版本
有关受支持的 SVN 和 Git 版本,请参阅支持矩阵。
如果您的源文件保存在 ALM 项目或受版本控制的 ALM 项目中,请参阅 ALM 中的版本控制。
将 UFT One 设置为使用 Git 或 SVN
在 UFT One 内使用 Git 或 SVN 之前,必须在本地配置 Git 或 SVN:
-
在运行 UFT One 的计算机上安装 Git 或 SVN 客户端。
-
在计算机上设置 Git 或 SVN 工作区。有关详细信息,请参阅 Git 或 SVN 文档。
-
在 UFT One 中,创建测试并将其保存在配置为使用 Git 或 SVN 的文件夹中。
-
使用标准 GIT 和 SVN 命令将源文件添加到 Git 或 SVN 中的存储库。
-
出现提示时,输入用户凭据:
SVN 首次从 UFT One 添加、更新或提交到 SVN 存储库时,系统会提示您输入用户凭据。 Git 首次推送到远程存储库时,系统会提示您输入用户凭据。 要清除用户凭据,请选择“工具”>“清除所有凭据 (Git/SVN)”。系统会提示您在下一次更新或提交时输入它们。根据您使用的 Git 版本,可能还需要从 Windows 帐户中删除已存储的用户凭据:
转到“控制面板”->“用户帐户”->“凭据管理器”->“Windows 凭据”,然后删除“普通凭据”下的所有 Git 凭据。
备注: 仅当源文件受版本控制且先前已保存凭据时,“清除所有凭据 (Git/SVN)”选项才可用。
设置工作区并添加源文件后,相关图标将添加到解决方案浏览器中的测试节点。从此时起,您可以直接从解决方案浏览器中使用 SVN 和 Git 命令。
备注: 对于大型解决方案和速度缓慢的网络,SVN 和 Git 图标可能需要一些时间才会显示。
在这种情况下,您需要等到图标刷新后才能执行提交或更新操作。
更新对源文件进行的更改
直接从解决方案浏览器更新更改。
只有独立的源文件 (即不依赖于父文件的文件,如对测试执行的操作) 可以直接从 UFT One 进行更新。
例如,如果要从测试中的一个操作或测试中的本地对象存储库更新更改,则必须提交测试。
要更新源文件,请执行以下操作:
SVN | 右键单击该文件的名称 (或父文件的名称),然后选择“更新”。 |
Git |
确保包含该文件的文件夹与 Git 存储库同步。 右键单击该文件的名称,然后选择“Git 拉取”。 |
备注: 要清除用户凭据,请参阅将 UFT One 设置为使用 Git 或 SVN 中的相关信息。
提交对源文件进行的更改
直接从解决方案浏览器提交更改。
只有独立的源文件 (即不依赖于父文件的文件,如对测试执行的操作) 可以直接从 UFT One 进行提交。例如,如果要从测试中的一个操作或测试中的本地对象存储库提交更改,则必须提交测试。
要提交更改,请在 UFT One 中创建该文件后执行以下操作:
SVN |
在解决方案浏览器中右键单击源文件 (或父文件) 的名称,然后选择“提交”。 |
Git |
|
备注: 如果外部源文件与测试 (如外部操作或函数库) 关联,则在提交测试时不会保存和提交外部文件。必须单独保存外部文件。
将源文件与存储库版本进行比较
指定比较工具,以便可以在 UFT One 中执行差异比较。
执行以下操作以在 UFT One 中执行源文件的差异比较:
-
在“选项”对话框的“版本控制系统”窗格 (“工具”>“选项”>“常规”选项卡 >“版本控制系统”节点) 中,为每种类型的文件指定比较工具,例如 UFT One 资产比较工具。
-
在解决方案浏览器中,右键单击该文件的名称,然后选择“与上一修订版本比较”或“Git Diff”。
备注: 菜单中可用的命令取决于您使用的版本控制系统。
将打开选定的比较工具,允许您执行差异比较。
还原源文件
在解决方案浏览器中右键单击该文件的名称,然后选择“还原”。UFT One 将重新加载保存在存储库本地副本中的上一版本,并删除您进行的更改。
解决文件版本之间的冲突
当源文件版本之间存在冲突时,UFT One 将显示列出冲突的对话框,并允许您选择要保存哪个版本的文件。此外,还可以合并两个版本的文件 (如有必要)。
执行以下操作来解决冲突:
-
在打开的冲突列表对话框中,选择具有存储库冲突的文件。
-
在对话框底部,选择以下选项之一:
使用我的更改 保存对文件所做的更改,并覆盖保存在存储库中的版本。 使用他人更改 获取存储库中的版本并覆盖所做的更改。 合并 将两个版本合并在一起。
必须在“选项”对话框的“版本控制系统”窗格 (“工具”> “选项”> “常规”选项卡> “版本系统”窗格) 中定义用于合并的特定工具。
要合并 C# 文件等代码文件,请使用以下语法在“版本控制系统”窗格中指定合并工具:
"Merge tool installation path" /base:%base /theirs:%their /mine:%mine /merged:%merged
目前,不支持使用 BeyondCompare 进行合并。
备注: 如果您没有合并工具,则“合并”选项不可用。但是,对于对象存储库文件,您可以按照手动合并对象存储库文件的版本冲突 - SVN 或手动合并对象存储库文件的版本冲突 - Git 中的步骤手动合并冲突。
-
提交更新的版本。
手动合并对象存储库文件的版本冲突 - SVN
如果要检查并手动合并两个不同工作文件夹中的两个对象存储库文件之间的冲突,请按照以下说明进行操作:
配置设置
选择以下方法之一:
方法 | 如何配置设置 |
---|---|
命令行工具 |
在命令行工具中输入以下语法:
其中 P1 为基本版本的文件路径,P2 为您的版本的文件路径,MERGED 为最终合并版本的文件路径。我们建议您将 MERGED 参数设置为与 P1 相同的值。 注: 确保在每个参数后插入空格。 |
SVN 设置 |
配置差异查看器和合并工具 备注: 您只需在第一次时配置设置即可。如果外部工具的路径发生更改,则需要删除原始设置并重新配置。
|
解决冲突
-
执行以下操作合并这两个文件。
- 命令行工具: 运行上表中的语法。
- SVN 设置: 配置设置后,右键单击存在冲突的对象存储库文件,然后选择“TortoiseSVN”->“编辑冲突”。
将打开“资产比较工具”对话框,其中左侧显示基本版本 (远程),右侧显示您的版本 (本地)。
- 检查每个冲突,然后单击左侧的“从远程文件获取对象”按钮 以使用基本版本,或单击“从本地文件获取对象”按钮 以使用您的版本。
- 解决完冲突后,关闭对话框。
手动合并对象存储库文件的版本冲突 - Git
如果要检查并手动合并两个不同分支中的两个对象存储库文件之间的冲突,请按照以下说明进行操作:
配置设置
选择以下方法之一:
方法 | 如何配置设置 |
---|---|
Git 设置 |
配置差异查看器和合并工具 备注: 您只需在第一次时配置设置即可。如果外部工具的路径发生更改,则需要删除原始设置并重新配置。
|
.gitconfig 文件 |
将以下语法添加到 .gitconfig 文件中:
|
解决冲突
-
配置设置后,右键单击存在冲突的对象存储库文件,然后选择“TortoiseGit”->“与上一版本的差异”。
将打开“资产比较工具”对话框,其中左侧显示基本版本 (远程),右侧显示您的版本 (本地)。
- 检查每个冲突,然后单击左侧的“从远程文件获取对象”按钮 以使用基本版本,或单击“从本地文件获取对象”按钮 以使用您的版本。
- 解决完冲突后,关闭对话框。
Git 分支
UFT One 支持使用以下命令的 Git 分支
创建分支 |
使用当前打开的测试新建 Git 分支。 执行以下操作:
|
切换分支 |
切换到不同 Git 分支中的同一测试。 执行以下操作:
UFT One 将从选定分支重新打开测试。 |
合并分支 |
将其他分支中的数据合并到当前在 UFT One 中打开的分支中。 在解决方案浏览器中,右键单击测试并选择“Git 合并分支”。 数据将合并到选定分支中。UFT One 将重新打开在合并之前已在其中启动测试的同一分支中的测试。 |