我有Visual Studio的企业版,但不是每个人都这样做。
如何分享TRX以便其他人可以看到结果?我已经看到有几个Trx到HTML转换器,但它们都很老了,要么不再工作,要么不显示测试的细节。
答案 0 :(得分:2)
负载测试的大多数结果都存储在数据库中。 TRX文件只有很小一部分结果 - 您可以通过在记事本中打开文件轻松查看它实际包含的内容,它只是XML。
Visual Studio试用版对负载测试有一些支持。 (它们仅支持少量虚拟用户,不支持插件。)它们可能允许查看和分析在其他计算机上执行的运行结果。这种有限的负载测试支持也可能在许可的非企业版本上提供。
通过使用“打开并管理负载测试结果”窗口中的“导出”和“导入”命令,可以将单个负载测试运行或运行组的结果从一台计算机复制到另一台计算机。这些创建和读取LTRAR文件。有关详细信息,请参阅here。
TRX文件包含SQL数据库的连接字符串,因此通常无法复制该文件,然后在另一台计算机上正常工作。编码的连接字符串位于TRX文件中的resultsRepositoryConnectString=...
属性内。将复制文件中的值更改为目标计算机上正在运行的TRX文件中找到的值允许复制的文件起作用。有关详细信息,请参阅here。
在其他计算机上查看结果的唯一其他选项是使用“创建Excel报告”命令在Excel中导出结果。 (通过负载测试结果查看器中“摘要 - 图表 - 表格 - 详细信息 - ...”行上的图标访问它。)
答案 1 :(得分:1)
对于单元测试,而不是负载测试,我通常从单元测试中导出trx文件,因为它们是可共享的,可以作为附件放置在我们的启动控制系统中,并且DO包含下游团队所需的所有数据验证结果,包括测试控制台输出。我通过使用/ logger:trx; logfilename =“ blah”命令行开关将自定义任务添加到运行vstest.console.exe的项目中来完成此任务。完整的任务行是:
<Exec Command=""$(DevEnvDir)commonExtensions\Microsoft\TestWindow\vsTest.console.exe" "$(MSBuildProjectDirectory)\$(OutputPath)$(AssemblyName).dll" /logger:trx;LogFileName="$(MSBuildProjectDirectory)\testResults.trx"" />
如果您不希望测试失败停止构建,也可以添加ContinueOnError="true"
。
MSTest似乎仍然随Visual Studio一起提供,据说它支持负载测试,并且历史上已经导出了TRX文件,但是我还没有尝试过。在vs2019中运行2019之前的单元测试项目(仍然具有指向mstest的任务)时,它会因程序集版本错误而失败,因此我不知道它是否仍然可以正常工作。