了解最新技术文章
TestRail 将自己定义为一种测试管理工具,允许您将所有测试活动(如测试设计、测试计划、测试执行和报告)集中在一个地方。最重要的是,TestRail 与各种问题跟踪器和其他机制具有开箱即用的集成,您可以使用它们来创建和自定义与其他工具的集成。
本文将探讨如何通过使用UI 脚本和TestRail API来利用 TestRail ,以完全简化 TestRail 内部的自动化测试执行和调试。出于演示目的,我们将使用Pytest作为测试自动化框架,使用GitHub作为源代码管理,使用Jenkins作为测试自动化协调器,使用TestRail CLI作为TestRail API的接口来上传自动化测试结果。我们将逐步概述实现最终目标的所有必要模块,随后发布一系列文章,其中提供有关实现每个构建模块最终结果的更详细说明。
我们将首先探索 Pytest 自动化测试示例项目,安装它,并在本地计算机中执行其中包含的测试。该项目托管在 TestRail 的自动化框架集成 GitHub 存储库上,因此我们将使用 GitHub 作为我们的源代码管理平台,您可以从中按需获取项目源代码。只需在系统上安装 Python 并执行几个命令在终端上安装和执行项目,您应该就能够快速实现下图中的工作流程。完成此设置后,您可以在计算机上根据需要多次执行自动化测试项目,并根据您的需要对其进行自定义。
当您刚开始时,在本地计算机上执行自动化测试就足够了,但它不可扩展,并且存在一些缺点,例如创建对一个人的团队依赖性、无法重现相同的项目执行环境,或者只是缺乏组织的可见性。为了避免这些问题,您应该使用 CI 工具(在本例中为 Jenkins)自动编排自动化测试项目。我们将创建一个作业,从 GitHub 获取源代码并使用 shell 脚本执行其中的测试,就像在本地计算机上一样,最终得到与第一个类似的工作流程,但在适当的 CI 系统上。
现在您已经在 CI 工具上成功运行了测试,是时候通过将测试结果集成到 TestRail 来公开测试结果了。为此,我们将利用 TestRail CLI 解析 JUnit 报告并将其结果上传到 TestRail 的能力。首先,您需要配置 Pytest 来生成 JUnit 样式的报告,该报告是开箱即用的,并通过简单的命令行参数来实现。现在 Pytest 已配置为生成 JUnit 报告,您只需安装 TestRail CLI,然后就可以使用一个简单的命令将测试结果发送到 TestRail。然后您将实现下图中的工作流程。
由于此工作流程,每次 Jenkins 作业运行时,TestRail CLI 都会使用 TestRail 上的测试结果创建一个新的测试运行。您可以在 TestRail 的测试运行和结果页面中查看这些结果,并像在任何其他测试运行中一样对它们进行操作、深入研究测试结果以调试失败的测试、更改测试结果、添加注释等。
最后,我们将使用 UI 脚本来结束这个循环,方法是在 TestRail 上添加一个小部件来触发您的 Jenkins 作业并检索构建信息,以快速了解最新构建的情况。我们提供了一个Jenkins 构建 UI 脚本,该脚本托管在我们的TestRail Customizations GitHub 存储库上。您只需根据需要更改脚本开头的配置变量,然后通过TestRail 实例上的管理 > 自定义 > UI 脚本页面添加它。
在 TestRail 中,如果导航到“测试运行和结果”页面,您将看到右侧面板上有一个新的小部件,其中包含用于配置作业和最新版本的触发按钮。该小部件允许您触发作业,通过颜色代码检查最新的构建状态,并通过单击相应的链接导航到构建。
有了这个工作流程,触发和访问自动化测试信息就成为 TestRail 的一部分。任何在 TestRail 中执行日常活动的用户都可以启动自动化测试套件,并在 CI 工具上完成测试运行后立即接收测试结果,而无需在 TestRail 外部导航。
现在您已将测试结果集中在 TestRail 上,您不仅可以检查自动化测试运行的结果以及失败测试的错误消息,还可以在报告上汇总手动和自动测试信息。通过这样做,您可以深入了解应用程序的测试覆盖率,甚至跟踪测试自动化进度。您还可以像报告手动测试结果一样,直接从自动化测试结果向您喜欢的问题跟踪器报告错误。
下一篇:性能测试也值得持续测试