如何在Azure Devops中实现Allure报告?

问题描述 投票:0回答:2

我正在运行一些 API 测试,这些测试会在 Azure devOps 管道中生成自定义的 xml junit 报告。 Junit 报告在“测试”选项卡下可见。但在那里我看到了“Allure report”选项卡,我想在我的框架中实现它。我该怎么做? 我想使用我当前的 Junit 报告以某种方式在“Allure Report”部分中可见,以便我可以使报告更具交互性。附件是我正在谈论的 Azure DevOps 中的页面。

azure-devops allure test-reporting
2个回答
3
投票

如何在Azure Devops中实现Allure报告?

您需要先安装Allure Test Reports扩展。

Allure 基于标准 xUnit 结果输出,但添加了一些补充数据。任何报告均分两步生成。在测试执行期间(第一步),连接到测试框架的一个称为适配器的小库将有关已执行测试的信息保存到 XML 文件。 Allure 已经为流行的 Java、PHP、Ruby、Python、Scala 和 C# 测试框架提供了适配器。

在报告生成过程中(第二步)XML 文件将转换为 HTML 报告。这可以使用命令行工具、CI 插件或构建工具来完成。

这里有示例文档以了解更多详细信息。


0
投票

嗯,这取决于测试来自哪里。如果您从 .json 文件 post-man 集合中获取测试,则需要查看此包here以获取有关我的步骤的更多说明。

如果您要使用剧作家方法运行测试,请查看此材料此处了解更多详细信息。

对于 Azure-DevOps Allure 扩展,@Hugh Lin(Allure 测试报告)个人提到的,我认为它在 Azure DevOps 上完全没有用,也许作为与 Visual Studio 或 VSCode IDE 的集成它可以工作,但对于 Azure DevOps ?它完全毫无价值。即使是关于它的评论也会这么说,所以我推荐 Micheal Clay 的Allure Report Viewer

我只会谈论来自 Newman Postman 集合的报告生成,如果您不使用这种方法,我认为从下面的这一点来看没有任何帮助。

所以步骤

  • 创建 Azure 存储库
  • 转到您的 Newman Postman 集合并下载 collection.json 和environment.json 文件,然后将其上传到上面创建的存储库
  • 创建一个新管道并将其链接到存储库(选择经典编辑器)。 注意:我只会提供我添加的脚本,代理任务的显示名称由您自行决定。
  • 添加命令行任务。脚本:“
    npm install -g newman@latest
    ”。
  • 添加NPM任务;命令:自定义;命令和参数:“
    install -g newman-reporter-allure@latest allure-commandline@latest
    ”。 注意:需要 allure-command line 包来运行“alluregenerate”命令。
  • 添加命令行任务。脚本:“
    newman run https://api.postman.com/collections/<collectionID>?access_key=PMAT-<Token> --environment environment.json -r allure --reporters cli,junit,json,allure --reporter-junit-export Results\junitReport.xml
    ”。 注意:我没有使用collection.json,我直接从QA人员的邮递员集合中运行测试,这样如果集合有任何更新或更改,它就会反映在管道上,我不必这样做继续手动上传 collection.json 文件(我能说什么,我是一个懒惰的 DevOps 工程师。'Lol,同时挠头')。另请记住通过在“控制选项”下检查来启用“出错时继续”,以便即使测试失败,管道也能保持运行。

运行测试

  • 添加命令行任务。脚本:“
    allure generate --clean
    ”。
  • 添加发布诱惑报告任务。 Allure文件目录:“
    $(System.DefaultWorkingDirectory)/allure-report/
    ”。

发布Allure报告

  • 添加发布测试结果任务(这是针对JUnit的)。测试结果文件:“
    $(System.DefaultWorkingDirectory)\Results\*.xml
    ”。

发布 JUnit 报告

  • 可选 添加发布管道工件任务。 注意:仅当您想使用在发布管道上运行期间创建的文件时,这才有用。我用它通过 SendGrid 发送报告。 (这完全应该是另一个话题了。)

结果

  • 倾城报告:

倾城报告

  • JUnit 报告:

JUnit 报告

缺点

  • 我不经常在这里发帖,因此我无法在这里发布图片和超过 8 个链接,因为我需要 10 个声誉才能做到这一点。我将这些图片发布在 Cloudinary 上,以提供这些图片的公共链接并建立了指向它们的链接。希望它有效。我将提供必要图片的链接
  • 我注意到我的实现下的 Allure Reports 不显示断言总数,它只显示测试用例的数量,这与 JUnit 不同。我不是 QA 人员,我在该部门的知识并不丰富。请联系 QA 人员进行调查,看看是否存在问题。 祝你好运和干杯
© www.soinside.com 2019 - 2024. All rights reserved.