2

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

如何共享 TRX 以便其他人可以看到结果?我已经看到有几个 Trx 到 HTML 的转换器,但它们都很老旧,要么不再工作,要么不显示测试的细节。

4

2 回答 2

2

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

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

通过使用“打开和管理负载测试结果”窗口中的导出和导入命令,可以将单个负载测试运行或运行组的结果从一台计算机复制到另一台计算机。这些创建和读取 LTRAR 文件。有关更多详细信息,请参见此处

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

在其他计算机上查看结果的唯一其他选项是使用“创建 Excel 报告”命令将结果导出到 Excel 中。(通过负载测试结果查看器中“摘要 - 图表 - 表格 - 详细信息 - ...”行上的图标访问它。)

于 2017-04-24T13:56:30.430 回答
1

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

<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 中往往会因程序集版本错误而失败,所以我不知道它是否仍然有效。

于 2020-10-13T20:52:21.423 回答