了解最新技术文章
本文是使用TestRail 简化测试自动化系列博客文章的一部分,旨在指导您在 TestRail 中集中测试自动化工作,如下图所示。
大多数将自动化测试与 TestRail 触发器集成并在 TestRail 外部执行自动化测试(例如作为持续集成系统的一部分)并使用TestRail 的 API提交测试结果的团队。
但是,如果您希望将常规测试活动集中在 TestRail 上并最大程度地减少系统之间的导航,您还可以实现一种机制,通过使用UI 脚本直接从 TestRail 触发 Jenkins 测试运行。在本博客系列的最后一篇文章中,我们将使用TestRail Customizations GitHub 存储库上提供的 UI 脚本示例之一来指导您完成该过程。此 UI 脚本在 TestRail 上的测试运行和结果页面中集成了 Jenkins 构建小部件。通过实施最后一步,您可以执行自动化测试并检索结果,而无需离开 TestRail,最终关闭循环。
要允许 TestRail UI 向您的 Jenkins 实例直接发出请求,您需要在 Jenkins 端允许跨源资源共享 (CORS)。尽管这通常被认为是安全风险,但采取正确的预防措施后,您可以利用此机制允许 TestRail 访问您的 Jenkins 作业数据,而不会增加风险。为此,您应该按照以下步骤允许 CORS 进入您的可信 TestRail 域。
1. 进入管理 Jenkins > 插件管理器,搜索并安装Jenkins 插件的 CORS 支持
2. 转到管理 Jenkins > 配置系统
3. 在页面底部的 CORS Filter 部分,插入所需的参数
4. 单击“保存”接受更改
您可以从 TestRail Customizations GitHub下载Jenkins 构建 UI 脚本。然后,要添加 UI 脚本,请转到 TestRail 的管理区域,选择“管理”>“自定义”>“添加 UI 脚本”,然后将整个 UI 脚本复制并粘贴到“配置”文本框中。在下面的示例中,我们提供了您可以使用的 UI 脚本示例,但如果您想了解如何开发自己的自定义脚本或进一步自定义这些示例,请查看 UI脚本文档页面。
您只需更改脚本上的几个值即可正确配置它以访问您的 Jenkins 实例并从所需作业检索数据。第一件事是将主机变量设置为 Jenkins URL。然后您需要更改jobs变量的示例。您可以拥有任意数量的工作。每个作业的名称可以是您希望在触发按钮上显示的任何名称,路径是作业的相对路径,当您导航到 Jenkins 上的作业时,您可以从浏览器复制该路径。
/* CONFIG */const host = "https://INSTANCE.testrail.io";const username = null; // Enter username and key only if you fully trust your organization members as this may pose a security riskconst key = null; // Generate an API key on your Jenkins user accountconst requestInterval = 10000; // Time between requests to Jenkinsconst project = "PROJECT NAME"; // Name of the project to load the triggers for (use value null to enable for all projects)const jobs = [ { "name": "Run Automated Tests", "path": "job/Automated%20Tests%20Project" }];
注意:如果您完全信任组织中的所有 TestRail 用户,则可以输入 Jenkins 用户名和密钥,但请注意,这会带来安全风险,因为 UI 脚本(和凭据)将以纯文本形式在浏览器上提供。我们建议将这些变量保留为空,并让用户通过 UI 配置其凭据。
如前所述,UI 脚本在右侧面板中添加了 Jenkins 集成部分,可以将其配置为显示您的自动化测试作业(或任何其他作业,如果您愿意)。在面板上,我们可以看到一个名为“自动测试触发器”的新部分以及您在 UI 脚本上配置的作业。对于每个作业,都有一个触发按钮,该按钮将启动新的构建,并链接到 3 个最新构建,并使用指示构建状态的颜色代码。在本例中,红色表示失败,绿色表示成功,蓝色表示仍在运行。
单击“运行自动化测试”,您将通过 Jenkins 的 API 触发您的作业。新的作业构建将在运行时以蓝色显示在触发按钮下方的列表中,然后显示为红色或绿色,具体取决于最终构建结果。构建列表由链接组成,因此如果您想深入了解更多构建细节,您可以轻松导航到 Jenkins。
通过实施本系列的最后一步,您刚刚完成了循环并实现了下图中的工作流程。
有了这个工作流程,触发和访问自动化测试信息就成为 TestRail 的一部分。任何在 TestRail 中执行日常活动的用户都可以启动自动化测试套件,并在 CI 工具上完成测试运行后立即接收测试结果,而无需在 TestRail 外部导航。
现在您已将测试结果集中在 TestRail 中,您可以检查自动化测试运行的结果以及失败测试的错误消息。您还可以在报告上汇总手动和自动测试信息。通过这样做,您可以深入了解应用程序的测试覆盖率,甚至跟踪测试自动化进度。