【问题标题】:Reporting tool for Nunit 3 and Selenium C#Nunit 3 和 Selenium C# 的报告工具
【发布时间】:2016-09-28 12:14:38
【问题描述】:

我使用 Selenium 和 C# 来创建我的自动化测试。现在我必须使用某种报告工具来保存测试用例是否通过、失败......等等。

我见过很多工具,比如 Allure 和 Jenkins。但它们需要一个 XML 文件。当我使用 Visual 2013 运行测试时找不到它。为什么会这样?

如果我遗漏了什么,如何详细获取这些 XML 文件

有什么方法可以用最少的努力实现这一目标吗?

编辑: 如何使用 Nunit 控制台运行程序运行我的测试?我在哪里可以找到它?我下载了 nunit 的 .zip,但找不到跑步者?

【问题讨论】:

  • 如果您更新您的问题,提供有关何时尝试创建报告的更多信息,那么我可以更新我的答案,为您提供有关如何运行和组合这两个工具的更多选项。您希望将其作为开发的一部分,还是在 CI 服务器上生成结果?
  • 我希望将其作为开发的一部分,在我在 VS 中运行测试后,我将能够创建一个包含夹具组件中所有测试的报告。

标签: c# selenium jenkins nunit allure


【解决方案1】:

NUnit Visual Studio 适配器目前不生成 XML 结果,尽管有一个 issue on GitHub 来添加该功能。当您想创建报告时,最好的办法是使用 NUnit 控制台运行程序运行您的测试。它总是生成一个 XML 结果文件。

您可以通过将NUnit.Console NuGet 包添加到您的测试项目来安装 NUnit 控制台。控制台将位于解决方案根目录中的 packages\NUnit.ConsoleRunner.3.4.0\tools 之类的目录中。

另一个选项是安装MSI for the console runner。然后它将位于C:\Program Files (x86)\NUnit.org\nunit-console

对于创建报告,ReportUnit 根据您的测试结果创建出色的 HTML 报告。

要运行测试,我建议设置一个简单的命令行构建来构建您的解决方案,运行测试然后生成报告。对于日常开发,只需在 Visual Studio 或命令行中运行测试就足够了。大多数开发人员发现 Visual Studio 测试资源管理器窗口的 UI 很差,但可用于查看通过和失败的测试并运行/调试它们。

如果您想设置命令行构建,一个很好的工具是Cake Build。设置需要一些时间,但随着项目变大,这是运行构建任务的绝佳方式。

【讨论】:

  • 感谢 Rob 的回答,但我如何使用 Nunit 控制台运行程序运行我的测试??
  • 正如我所说,更新您的问题,提供有关您希望如何运行测试的更多信息。 TDD 和 CI 的答案可能非常不同。
  • 另一件事是 ReportUnit 添加到我的 VS 项目中,当我在 VS 上运行测试时,它只是生成 HTML 报告??
  • ReportUnit 只是一个获取 XML 结果文件并将其转换为 HTML 的工具。你需要弄清楚如何运行它。最简单的方法通常是像 Cake Build 这样的命令行构建。
  • 我应该发布另一个关于如何使用 Nunit 控制台运行器的问题吗?
【解决方案2】:

可以使用 nunit-console.exe 应用程序运行 NUnit 测试,该应用程序与 nunit 一起安装在 {Project_root}/lib/nunit/nunit-console.exe 下。它会在 NUnit 安装时使用 NuGet 下载。

它可以传递一个测试二进制文件列表,或测试项目文件,或一个 nunit 项目(如果需要,列出多个)。

{PathToProject}\lib\nunit\nunit-console.exe {PathToTestDll}\Project1.Tests.dll {PathToTestDll}\Project2.Tests.dll /xml=nunit-result.xml

如果您想将所有测试项目组合到一个配置文件中,或者使用 NUnit Project Editor 创建一个 NUnit 项目。

{PathToProject}\lib\nunit\nunit-console.exe {PathToNUnitProject}\Project.Tests.nunit /xml=nunit-result.xml

【讨论】:

    【解决方案3】:

    Allure 不需要 xml。现在出租:)

    https://github.com/unickq/allure-nunit

    你只需使用 [AllureNUnit] 属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      相关资源
      最近更新 更多