我们有一个带有单元测试的UWP应用程序,可以从Visual Studio正常运行。但是,尝试在构建代理上运行测试时遇到了问题。为了将问题与构建管道隔离开来,我们尝试使用vstest.console.exe
从本地构建计算机上的命令行运行测试。无论我们是从构建管道运行还是从命令行运行,以下错误都是相同的。我们将不胜感激。
TestWindow> vstest.console.exe / Platform:x86 / Framework:FrameworkUap10 / InIsolation /logger:trx;LogFileName=%temp%\SampleUwpAppTest.trx C:\ vsts-agent_work \ 22 \ a \ AppxPackages \ SimpleUwpApp.Tests_1.0.0.0_x86_Test \ SimpleUwpApp.Tests_1.0.0.0_x86.appx Microsoft(R)测试执行命令行工具版本15.7.2 版权所有(c)Microsoft Corporation。保留所有权利。
开始执行测试,请稍候...正在尝试部署到目标 “本地计算机”。部署操作成功,包别名: '7d25c824-2568-4449-a622-ad28662417f9_1.0.0.0_x86__a178p9x51fw8a'。 尝试使用应用用户模型ID启动应用 '7d25c824-2568-4449-a622-ad28662417f9_a178p9x51fw8a!vstest.executionengine.universal.App'和参数'--port 1428 --endpoint 127.0.0.1:01428 --role client --parentprocessid 5744 --telemetryopted in false'。 DEP7100:无法激活应用 '7d25c824-2568-4449-a622-ad28662417f9_a178p9x51fw8a!vstest.executionengine.universal.App',其参数为'--port 1428 --endpoint 127.0.0.1:01428 --role client --parentprocessid 5744 --telemetryopted in false'。访问被拒绝。
访问被拒绝。
应用激活失败。 Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: 无法初始化客户端代理:无法连接到测试过程。 在 Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyOperationManager.SetupChannel(IEnumerable`1 来源) Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Client.ProxyExecutionManager.StartTestRun(TestRunCriteria testRunCriteria,ITestRunEventsHandler eventHandler)关闭应用 包裹全名 '7d25c824-2568-4449-a622-ad28662417f9_1.0.0.0_x86__a178p9x51fw8a'。
测试运行中止。
我们的示例解决方案有两个项目:SimpleUwpApp和SimpleUwpApp.Tests。前者的项目文件具有<AppxBundle>Always</AppxBundle>
,后者具有<AppxBundle>Never</AppxBundle>
。构建代理是一台本地Windows 10计算机,我们用于UWP构建已有一段时间。这是Azure DevOps中我们的构建配置的屏幕截图:
答案 0 :(得分:0)
如果在构建代理程序上未启用开发人员模式,则可能会看到此错误。
答案 1 :(得分:0)
我今天遇到了这个问题,并最终追溯到我们的自托管Azure DevOps代理的运行方式-要运行UWP单元测试,您必须对代理使用交互模式,而不能< / strong>作为Windows服务运行。从docs:
使用自托管的Windows代理进行可见的UI测试
配置为作为服务运行的代理只能使用无头浏览器运行Selenium测试。如果您没有使用无头浏览器,或者正在运行桌面应用程序的UI测试,则必须将Windows代理必须配置为以启用自动登录的交互式过程运行。
进行此更改后,我发现错误消失了。