CodedUI - 要 运行 与桌面交互的测试,您必须将测试代理设置为 运行 作为交互进程

CodedUI - To run tests that interact with the desktop, you must set up the test agent to run as an interactive process

为了为我的 Wpf 应用程序创建构建-部署-测试工作流,我将使用 TFS 构建定义和 MTM 来创建环境。

我正在使用以下步骤:

我在构建定义中使用 LabDefaultTemplate。11.xaml 在实验室流程设置中,我提供了所需的详细信息:

环境: 我在虚拟机上创建了一个使用 MTM 的环境 在环境中,我在机器列表

中添加了一个桌面客户端(仅限相同的虚拟机)

请注意,我的测试控制器、代理、MTM 都只在虚拟机上

构建:我选择了一个现有的构建定义,它工作正常。

Deploy: 我有指定的应用程序安装命令(运行ning of msi file) 另外,仅在部署部分,最后我指定了一个批处理文件,我在其中通过命令行调用我的 CodedUI 测试(使用 VSTEST.CONSOLE.EXE)

测试:未使用它,即未检查 "Run these Tests in Environment"

当我 运行 此构建定义、构建创建和安装工作正常但无法 运行 codedui 测试时。出现以下错误:

错误信息: 为测试 class CodedUITestProject1.AISTest 调用初始化方法时出错:Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException:要 运行 与桌面交互的测试,您必须将测试代理设置为 运行一个互动的过程。有关详细信息,请参阅 "How to: Set Up Your Test Agent to Run Tests That Interact with the Desktop" (http://go.microsoft.com/fwlink/?LinkId=255012) 如果您将 运行 测试作为团队构建的一部分,则还必须将构建代理设置为 运行 作为交互过程。有关详细信息,请参阅 "How to: Configure and Run Scheduled Tests After Building Your Application" (http://go.microsoft.com/fwlink/?LinkId=254735) 堆栈跟踪: 在 Microsoft.VisualStudio.TestTools.UITesting.Playback.Initialize() 在 Microsoft.VisualStudio.TestTools.UITesting.CodedUITestExtensionExecution.BeforeTestInitialize(对象发送者,BeforeTestInitializeEventArgs e) 在 Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecution.RaiseBeforeTestInitialize(BeforeTestInitializeEventArgs 参数) 在 Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestExecuter.RunInitializeMethod() 测试 运行 失败。

此外,我已确保将测试代理配置为交互式进程。

任何帮助将不胜感激。

将构建控制器也设置为 运行 作为交互过程后问题得到解决。