技术文章

了解最新技术文章

当前位置:首页>技术文章>技术文章
全部 111 常见问题 5 技术文章 106

将您的自动化测试结果发送到 TestRail

时间:2023-12-26   访问量:1037

本文是使用TestRail 简化测试自动化系列博客文章的一部分,旨在指导您在 TestRail 中集中测试自动化工作,如下图所示。

ZYQ A2xlS7OMd8Y2PmHD 7vDQb9FTLyuT jTkr4 BabomnFg08tsbBgCNzXb0z8Y562JOxoUzw01dgceW M6dD cVB1

如果您遵循了本系列博客文章中的前几篇文章,那么您现在应该已经设置了测试执行管道,并将测试结果作为工件存储在 Jenkins 上。如果您所在的组织重视一致的测试管理和可见性,您将希望在测试管理工具中管理自动化测试结果,以便可以集中所有测试活动并生成综合且丰富的报告。

TestRail CLI

为了使这个过程尽可能轻松、无缝,TestRail 提供了一个 CLI 来上传您的测试结果,只要您的测试自动化框架可以生成 JUnit 风格的报告。TestRail CLI 解析 JUnit 报告,自动在 TestRail 上创建测试用例,创建测试运行,并将结果上传到相应的测试。

TestRail CLI 是一个用 Python 开发的工具,可在 Python Package Index (PyPI) 中找到。要使用此工具,您只需在系统上安装 Python(我们已经为 Pytest 项目进行了配置)。您可以使用以下命令安装它。

$ pip install trcli

要在 TestRail 实例上使用 TestRail CLI,您只需执行一些小配置。请参阅TestRail CLI 文档了解所需步骤并熟悉通过 CLI 提供的功能。

配置构建步骤以使用 TestRail CLI

现在让我们回到 Jenkins 工作并快速进行必要的更改以将测试结果上传到 TestRail。

1. 编辑执行 shell 步骤命令,调整它以使用 TestRail CLI 上传测试结果。

Q2nFcESj7zxxdCdJhIRpQzZJQ4s2xbziYsjOQidV lPXdRQeKZzOsB CMYGm1U39xs06VovWY o0y5efQwfXU6kmcQEty6WOFji8Qee JL KGi3JE5lCCSOjnd87HLX3tDG6c vChiTkQGiXjdGHbZ4

shell脚本分解

下面是上面使用的脚本的副本以及每个部分的简要说明。

# Setup virtual environmentpython3.10 -m venv ./venv. ./venv/bin/activate# Install and run test projectpip install -r requirements.txtpytest --junitxml "reports/junit-report.xml" "./tests" || pytest_exit_code=$?# Install TestRail CLI and upload test resultspip install trclitrcli -y 
  -h "https://INSTANCE.testrail.io" 
  -u "USER_EMAIL" 
  -p "API_TOKEN" 
  --project "PROJECT NAME" 
  parse_junit 
  --title "Automated Test Run" 
  --run-description "CI Build: ${BUILD_URL}" 
  -f "reports/junit-report.xml"
    # Exit with Pytest exit codeexit $pytest_exit_code

# Install and run test project

第一个更改是 pytest 命令。请注意该--junitxml "reports/junit-report.xml"选项,它命令 Pytest 生成供 TestRail CLI 使用的 JUnit 样式报告。您可以在与Integrating with Pytest相关的文档中找到更多详细信息另一个细节是|| pytest_exit_code=$?pytest 命令之后的内容。这告诉 shell 即使测试失败也要继续,这会导致 Pytest 返回失败退出代码,否则会停止整个作业执行,而不将测试结果上传到 TestRail。稍后我们将使用 退出脚本,pytest_exit_code根据测试结果确定构建是否通过。有多种方法可以实现此行为,并且插件可以帮助您实现此目的,这是实现本示例目的的最简单方法。

# Install TestRail CLI and upload test results

如果测试执行成功完成(无论是否有失败的测试),您现在应该有一个 JUnit 样式的报告,以便能够将结果上传到 TestRail。为此,您只需使用 pip 安装 TestRail CLI,然后使用 TestRail 实例详细信息执行它。您需要替换-h-u-p的占位符--project该脚本中 trcli 调用的另一个小但有用的细节是选项--run-description "CI Build: ${BUILD_URL}"这会将当前的 Jenkins 构建 URL 添加到您的 TestRail 测试运行中,以便您可以轻松导航回它。最后的建议是,不要直接在脚本上使用密码或 API 令牌,而是使用Jenkins 凭据管理器

# Exit with Pytest exit code

如前所述,我们只需使用原始 Pytest 退出代码退出脚本,这将通知 Jenkins 实际自动化测试执行的结果。

运行作业

1. 现在我们已经完成了构建步骤的更改,我们可以再次运行作业。为此,您只需点击左侧面板上的“立即构建”操作即可。

5_运行作业.PNG

2. 作业完成后,通过查看构建的控制台输出页面上的日志,您应该能够看到脚本已按预期执行。如果测试执行完成且没有任何障碍,并且 TestRail CLI 已正确配置,您应该能够在构建日志上看到它已将测试结果提交到 TestRail 实例。

3. 最后,如果您打开 TestRail 实例并转到 Test Runs & Results 页面,您应该能够找到新创建的名为 Automated Test Run 的执行并查看您的测试结果,以及指向您的 Jenkins 作业构建的链接生成了这个测试运行。请注意运行描述链接,以便您可以导航到 Jenkins 并进一步调试您的测试结果。

IazTLh7kwTXY2074 7th42LU 法律 8tLOATBN CzQd ldnFQ7isP85vHR9rSp ipBvB9m0OD7L17okKcBWfftyUMeGNj9ryyCkIORoOaqACzhZMt TfIvL WuYIsdWZcXM5R UadB26gmTRqE59TwVk

最后结果

执行本文中的所有说明后,您将完成下图中的步骤 3、4 和 5。

VVX92MxhBMEo 68bEY5XixvaBtsIt7SLF3h3y3ZrrFCXK7liJ3L2gYEjpf5zPzqTBKcTAU8fLm1THHCokTsZhzwYds mtNGsLXdlPZ6gtlFiLRC YgL2F1d v6u5v3SXqerloA7Vket6Cm7BMb9fQw

现在您已将测试结果集中在 TestRail 中,您不仅可以检查自动化测试运行的结果以及失败测试的错误消息,还可以在向您显示的报告中汇总手动和自动测试工作围绕您的应用程序的完整测试覆盖范围,甚至跟踪测试自动化进度。您还可以像报告手动测试结果一样,直接从自动化测试结果向您喜欢的问题跟踪器报告错误。

此时,您仍然需要进入 Jenkins 来触发自动


上一篇:使用 UI 脚本从 TestRail 触发 Jenkins 构建

下一篇:使用 Jenkins 作为 CI 工具来编排自动化测试项目

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部