通过 Octopus Tentacle 编码 UI 个自动化测试用例

Coded UI Automated Test Case through Octopus Tentacle

我正在尝试 运行 我的自动化测试用例部署在虚拟机上,并尝试在 Octopus 部署工具的帮助下触发它。我在我的机器上安装了测试代理和 Octopus Tentacle。 Octopus 非常 well.But 触发 DLL 的自动化测试用例,而 Octopus 试图 运行 测试用例它给我一个错误如下:-

Microsoft.VisualStudio.TestTools.UITest.Extension.UITestException: To run tests that interact with the desktop, you must set up the test agent to run as an interactive process. For more information, see "How to: Set Up Your Test Agent to Run Tests That Interact with the Desktop" (http://go.microsoft.com/fwlink/?LinkId=255012)
Error    01:59:38
If you are running the tests as part of your team build, you must also set up the build agent to run as an interactive process. For more information, see "How to: Configure and Run Scheduled Tests After Building Your Application" (http://go.microsoft.com/fwlink/?LinkId=254735)

我在测试代理中设置了我的密码并将其设置为有吸引力的过程,但我仍然面临同样的问题。

我正在通过 Octopus 触发我的 DLL,如下所示。

 & "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "C:\MyWebaPP\Automated_test\Automated_test.dll"

我尝试了所有方法 found.Please 帮助我解决这个问题。

提前致谢!!

我们最近遇到了同样的问题。

在我们的研究过程中,我们在 Octopus 支持论坛上发现了这个 post: http://help.octopusdeploy.com/discussions/questions/5080-tentacle-running-interactive-tests 我们还通过邮件联系了 Octopus Deploy,他们基本上给了我们相同的回复。

虽然我们在 "scheduled task for test run" 方法上运气不佳,但我们最终通过 运行 将 Octopus Tentacle 作为进程而不是服务来实现它。

这里的挑战是确保 Tentacle 在我们的测试机器启动时启动。我们希望这会自动发生,所以每次 RDPing 和启动过程都是不可能的(这也为 UI 测试 运行... 带来了一些额外的问题)。

最终的解决方案是安排一个任务,在机器启动时将 Octopus Tentacle 作为交互式进程启动(即直接 运行 Tentacle.exe),然后确保我们永远不会使用 RDP到这台机器。确保该任务具有足够的权限,并且它 "Runs whether the user is logged in or not"。另外,记得关闭八达通触手服务的自动启动。

编辑:我们在使这个解决方案适用于我们所有的环境时遇到了一些问题。似乎出于安全原因,较新版本的 Windows 对允许计划任务在没有用户登录时启动交互进程持怀疑态度。

我们再次搜索了可能的解决方案,发现了 FireDaemon Pro (commercial software),它允许我们在域用户下注册 运行 的交互式 Windows 服务。不太确定它是如何工作的,但他们似乎能够从 session0 中的 Windows 服务 运行 a UI(UI 也被隔离)。章鱼触手毫无怨言地启动,UI 测试 运行 我们想要的方式。