我正在尝试在我们的开发环境服务器上触发测试。 测试确实在具有生成代理和测试代理的生成服务器上执行。
在我们的开发服务器上,我已经安装了
- 测试代理
- 我发现这一行[命令]powershell非交互式-执行策略 不受限制 -文件 D:\TFSVSOWork_tasks 所以
- 我将该目录复制到开发服务器,因为它没有 存在。
- 已安装的铬
我在日志中看到的是
2019-07-11T20:11:46.5428863Z ##[section]Starting: VsTest - testAssemblies
2019-07-11T20:11:46.5428863Z ==============================================================================
2019-07-11T20:11:46.5428863Z Task : Visual Studio Test
2019-07-11T20:11:46.5428863Z Description : Run tests with Visual Studio test runner
2019-07-11T20:11:46.5428863Z Version : 2.0.55
2019-07-11T20:11:46.5428863Z Author : Microsoft Corporation
2019-07-11T20:11:46.5428863Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=835764)
2019-07-11T20:11:46.5428863Z ==============================================================================
2019-07-11T20:11:47.3085004Z Run the tests locally using vstest.console.exe
2019-07-11T20:11:47.3085004Z ========================================================
2019-07-11T20:11:47.3085004Z Test selector : Test assemblies
2019-07-11T20:11:47.3085004Z !**obj**
2019-07-11T20:11:47.3085004Z Test assemblies : ***UITests*.dll,!**obj**
2019-07-11T20:11:47.3085004Z Test filter criteria : null
2019-07-11T20:11:47.3085004Z Search folder : D:ApplicationsHttpxyztest
2019-07-11T20:11:47.3241263Z Run settings file : D:ApplicationsHttpLanding
2019-07-11T20:11:47.3241263Z Run in parallel : false
2019-07-11T20:11:47.3241263Z Run in isolation : false
2019-07-11T20:11:47.3241263Z Path to custom adapters : C:Program Files (x86)Microsoft Visual Studio2017TestAgentCommon7IDECommonExtensionsMicrosoftTestWindow
2019-07-11T20:11:47.3241263Z Other console options : null
2019-07-11T20:11:47.3241263Z Code coverage enabled : false
2019-07-11T20:11:47.3241263Z VisualStudio version selected for test execution : latest
2019-07-11T20:11:47.3241263Z [command]powershell -NonInteractive -ExecutionPolicy Unrestricted -file D:TFSVSOWork_tasksVSTest_ef087383-ee5e-42c7-9a53-ab56c98420f92.0.55vs15Helper.ps1
2019-07-11T20:11:48.2303716Z <Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
2019-07-11T20:11:48.2303716Z <S>C:Program Files (x86)Microsoft Visual Studio2017Enterprise</S>
2019-07-11T20:11:48.2303716Z </Objs>
2019-07-11T20:11:48.2303716Z [command]wmic datafile where "name='C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe'" get Version /Value
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z Version=15.0.28307.421
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z Version=15.0.28307.421
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z
2019-07-11T20:11:48.3397476Z ========================================================
2019-07-11T20:11:48.3553717Z ##[warning]No test assemblies found matching the pattern: ***UITests*.dll,!**obj**.
2019-07-11T20:11:48.3709967Z ##[section]Finishing: VsTest - testAssemblies
它不是任务失败,这意味着我得到了一张绿色支票。 但我确实得到##[警告]找不到与模式匹配的测试程序集:*UITests*.dll,!\obj**. 还是我还需要加载其他软件。
TFS Prem Release 找不到与模式匹配的测试程序集:*UITests*.dll,!\obj\
默认情况下,我们将$(System.DefaultWorkingDirectory)
指定为 Visual Studio 测试任务中的搜索文件夹。这指向代理上的源文件夹,该文件夹与安装代理的目录相关。
但是日志中的搜索文件夹是D:ApplicationsHttpxyztest
,它似乎是TFS服务器上的本地文件夹。若要解决此问题,应确保指示MSBuild(使用 OutDir 参数)在生成项目时将程序集输出到该特定位置,然后可以使用该位置。
注意:由于在发布时测试程序集,因此应确保在生成完成后不会清理这些程序集。
更新:
根据您的团队成员的错误日志,我发现了以下错误消息:
2019-07-18T18:27:43.9323329Z [command]"C:Program Files (x86)Microsoft Visual Studio2017TestAgentCommon7IDEExtensionsTestPlatformvstest.console.exe" \ServernameD$FAF_ApplicationsHttpXYZAppNametestXYZAppName.Nunit.UITests.dll /logger:trx "/TestAdapterPath:"D:TFSVSOWorkr45a"" /framework: .NetFramework,version=V4.7.2
2019-07-18T18:27:44.0417108Z Microsoft (R) Test Execution Command Line Tool Version 15.9.0
2019-07-18T18:27:44.1198351Z The /Framework argument requires the target .Net Framework version for the test run. Example: /Framework:".NETFramework,Version=v4.5.1"
似乎您在参数中没有给出正确的语法规则:
/framework: .NetFramework,version=V4.7.2
它应该是:
/Framework:".NetFramework,version=V4.7.2"
您缺少双引号并在参数中添加更多空格。
希望这有帮助。
由于这并不能回答我的所有问题,因此它确实回答了如何让测试在构建服务器以外的其他地方运行。 我们必须在要测试的服务器上加载vstf_testagent.exe。 在 TFS 中,我们添加了一个步骤,用于从放置的位置安装 vstf_testagent。 然后,我们开始看到我们的测试正在运行和失败。 我们还没有弄清楚需要更改的内容,因为它正在尝试运行我们找不到的特定版本。