使用 Jenkins 从 ALM 触发 UFT One 测试
本主题介绍如何运行保存在 ALM 中的 UFT One 测试。
在 Jenkins 服务器上定义 ALM 凭据
定义 Jenkins 在运行保存在 ALM 中的 UFT One 测试时用来连接到 ALM 的 ALM 凭据。
Application Automation Tools 插件版本 | ALM 凭据 |
---|---|
6.3 及更低版本 |
在从 ALM 运行 UFT One 测试的每个作业中输入凭据。 |
6.4 到 7.0 |
在 Jenkins 配置页面 (“管理 Jenkins”>“配置系统”的“Application Lifecycle Management”部分) 中全局定义 ALM 凭据。 可以为多个 ALM 服务器定义凭据,也可以为同一个 ALM 服务器上的多个用户定义凭据。 根据 ALM 服务器要求,定义用户名和密码或者客户端 ID 和 API 密钥密码。 然后,在从 ALM 运行 UFT One 测试的作业中,根据需要从已配置的 ALM 用户名或 ALM 客户端 ID 中进行选择。 |
7.1 及更高版本 |
从“凭据范围”下拉列表中选择以下凭据处理模式之一。
备注: 如果您升级到 Application Automation Tools 插件 7.1 或更高版本,对于您之前配置的任何作业,默认使用“系统 (全局) 凭据”模式。 |
如果您已在作业中定义 ALM 凭据,并随后升级到 Application Automation Tools 插件 6.4 到 7.0 之间的版本:
-
您将无法在作业中编辑凭据,但是 Jenkins 会在运行作业时继续使用这些凭据。
-
您可以将在现有 Jenkins 作业中定义的 ALM 凭据自动移到 Jenkins 全局配置区域中:
使用构建后操作“迁移 ALM 凭据”创建和运行 Jenkins 作业。首次运行此作业会将所有作业中的 ALM 凭据迁移到 Jenkins 配置页面。后续运行将不执行任何操作。
从 ALM 测试集运行 UFT One 测试
使用 Jenkins 从 ALM 中的测试集运行服务器端无人值守的功能测试。ALM 测试集使您能够在 ALM 测试实验室模块中根据特定测试目标来组织测试执行。
备注: 不支持从 ALM 运行并行测试。
有关详细信息,请参阅 ALM 帮助中心。
配置 Jenkins 构建步骤以触发从 ALM 运行的测试集
-
在 Jenkins 作业中,向下滚动到“构建”部分,单击“添加构建步骤”,然后为自由风格项目选择“从 Micro Focus ALM 执行功能测试”。
备注: 对于管道,在“管道语法”页面中,从“示例步骤”下拉菜单中选择 runFromAlmBuilder,生成脚本,并将脚本复制到管道脚本框中。
-
选择已配置的 ALM 服务器之一,然后输入服务器凭据、项目和域。
根据 ALM 服务器所需的身份验证类型,凭据可以是用户名和密码或用于 SSO 身份验证的 API 密钥。
要使用 SSO 身份验证,请选择“启用 SSO”,然后输入从 ALM 站点管理员处获取的“客户端 ID”和“API 密钥”。
有关更多详细信息,请参阅在 Jenkins 服务器上定义 ALM 凭据。
备注: 如果您使用的是 ALM 计划程序,它将在 Jenkins 代理用户下运行。
例如,如果 Jenkins 以系统用户身份运行,则计划程序将以系统用户身份运行测试。这不会影响测试执行。
-
使用 ALM 路径添加测试集文件夹或要包含的特定测试集。
-
要添加特定测试,请在测试集路径后面添加测试名称。
-
要添加多个条目,请单击字段右侧的向下箭头,然后在单独的一行中输入每个项。
例如:
Root\testfolder1\testset_a
Root\testfolder1\testset_b
Root\testlab_folder
Root\testlab_folder\testset_a\test-name
-
-
(可选) 指定要以下列方式之一使用的测试参数:
在“测试集”区域指定测试参数在“测试集”区域中,使用以下语法:
<测试或测试集路径> "<参数名称>":"<字符串值>", "<参数名称>": <数值>
其中:
-
“<测试或测试集路径>”是测试或测试集的路径。
如果指定某个测试,则指定的参数仅用于该测试。
如果指定某个测试集,则指定的参数将用于该测试集中的所有测试。当该测试集运行时,每个测试将使用它所需的参数,而忽略任何其他参数。
-
“<参数名称>”是测试参数的名称
-
“<字符串值>”是参数的字符串值 (带引号)
-
“<数值>”是参数的数值 (不带引号)
例如:
TestSet\ "Country":"US", "Count": 3
TestSet2\ "Country":"UK"
TestFolder\Test1 "Country":"China", "Count": 4
在表中指定测试参数在 Application Automation Tools 插件版本 7.3 及更高版本上受支持
-
选择“指定测试参数”。
-
在参数表中,指定测试编号以及参数的名称、值和类型。
测试编号表示在“测试集”区域中定义的测试的从 1 开始的顺序。定义测试编号后,测试路径会自动以只读模式填充。
指定 UFT One 中定义的参数名称。
-
单击“+ 参数”将更多参数添加到表。
备注:
-
建议在表中指定测试参数,而不是在“测试集”框中进行指定。第一种方法使您能够仅提供字符串或数字参数值,仅向后兼容功能支持此方法。
-
确保您配置的参数类型正确。否则,测试运行可能会由于参数类型不匹配而失败并显示错误状态。
-
指定测试所需的每个测试参数的值,或确保在 UFT One 或 ALM 中为参数定义了默认值。
-
Application Automation Tools 插件版本 7.6 及更高版本: 您可以在表中定义类型为“密码”的 GUI 测试参数。有关如何对测试运行结果中的“密码”参数的值进行加密的信息,请参阅对测试运行结果中的密码进行编码。
-
-
(可选) 指示作业失败之前等待的超时 (以秒为单位)。
-
(可选) 为 ALM 测试集设置筛选,以指示 Jenkins 仅运行测试集中的部分测试。
选择“筛选 ALM 测试集”,然后筛选要按名称或/和状态运行的测试:
-
在“运行名称包含以下内容的测试”中,指定要在测试名称中查找的字符串。
- 在“运行具有以下状态的测试”中,指定要运行的测试的状态。例如,如果您不想重新运行已通过的测试,则不要选择“通过”状态。
-
-
单击“高级”以指示运行模式,如“本地”主机、“远程”主机或“计划的”主机。
备注:
-
如果指定远程主机模式,则还要指定主机名。此主机必须是一台安装了有效 UFT One 的计算机。
您可以配置 UFT One 计算机,以便 Jenkins 无需任何人手动登录计算机并启动 UFT One 即可运行测试。有关详细信息,请参阅在远程会话中运行 UFT One 和 UFT One 测试。
-
建议您从“ALM 实验室管理”运行功能测试集。从 ALM 运行功能测试集时存在以下限制:
-
不支持功能测试集在“计划的”主机上运行。
-
在“本地”或“远程”主机上运行功能测试集时,只能获取每个测试的运行结果。
-
-
-
单击“应用”保存更改,然后继续执行更多构建步骤。添加构建步骤后,单击“保存”。
-
在“构建后操作”部分中,单击“添加构建后操作”,然后为自由风格项目选择“发布 Micro Focus 测试结果”。
备注: 对于管道,在“管道语法”页面中,从“示例步骤”下拉菜单中选择 publishMicroFocusTestResults,生成脚本,并将脚本复制到管道脚本框中。
-
像执行任何标准 Jenkins 作业一样运行或安排作业。
从 ALM 查看测试运行结果
- 在仪表板上,单击作业。
- 单击“控制台”链接以查看 ALM 信息。
- 将 ALM 链接复制到浏览器,并从 ALM 中查看测试集运行结果。
另请参见: