分享测试结果TRX文件

Share test result TRX file

我有 Visual Studio 的企业版,但不是每个人都有。

如何分享TRX让其他人看到结果?我看到有几个 Trx 到 HTML 转换器,但它们都很旧,要么不再工作,要么不显示测试的详细信息。

负载测试的大部分结果都存储在数据库中。 TRX 文件只有一小部分结果 - 您可以通过在记事本中打开文件轻松查看它实际包含的内容,它只是 XML.

Visual Studio 试用版对负载测试有一些支持。 (它们只支持少量虚拟用户,不支持插件。)它们可能允许查看和分析在其他计算机上完成的运行结果。这种对负载测试的有限支持也可能适用于获得许可的非企业版本。

可以使用 "Open and manage load test results" window 中的导出和导入命令将单个负载测试运行或运行组的结果从一台计算机复制到另一台计算机。这些创建和读取 LTRAR 文件。有关详细信息,请参阅 here

TRX 文件包含到 SQL 数据库的连接字符串,因此通常无法复制该文件,然后在另一台计算机上正常工作。编码的连接字符串位于 TRX 文件的 resultsRepositoryConnectString=... 属性中。将复制文件中的值更改为在目标计算机上工作的 TRX 文件中找到的值允许复制的文件工作。有关详细信息,请参阅 here

在其他计算机上查看结果的唯一其他选项是使用 "Create Excel Report" 命令将结果导出到 Excel。 (通过负载测试结果查看器中 "Summary - Graphs - Tables - Details - ..." 行上的图标访问它。)

对于单元测试,但不是负载测试,我经常从我的单元测试中导出 trx 文件,因为它们是可共享的,可以作为附件放入我们的发射控制系统中,并且包含所有必要的数据下游团队验证结果,包括测试控制台输出。我通过将自定义任务添加到运行 vstest.console.exe 的项目来执行此操作,并使用 /logger:trx;logfilename="blah" 命令行开关。完整的任务行是:

<Exec Command="&quot;$(DevEnvDir)commonExtensions\Microsoft\TestWindow\vsTest.console.exe&quot; &quot;$(MSBuildProjectDirectory)$(OutputPath)$(AssemblyName).dll&quot; /logger:trx;LogFileName=&quot;$(MSBuildProjectDirectory)\testResults.trx&quot;" />

如果您不希望测试失败停止构建,您还可以添加 ContinueOnError="true"

MSTest 似乎仍随 visual studio 一起提供,据说支持负载测试,并且历史上已经导出了 TRX 文件,但我还没有尝试过。 运行 2019 年之前的单元测试项目,仍然有任务指向 mstest,在 vs2019 中往往会因汇编版本错误而失败,所以我不知道它是否仍然有效。