我们使用UI Automation和Nunit为WPF应用程序创建测试UI测试。 我们已经创建了从本地计算机运行它们时运行良好的测试。这些测试从未在我们的构建服务器上成功运行(使用TeamCity)。打开应用程序窗口后,构建始终挂起但是如果我已登录(远程桌面),则在我们的构建服务器上,所有UI自动化测试也会成功运行。 所以我猜它可能与运行活动的Windows会话有关。任何想法如何说服我们的构建服务器创建活动的Windows会话或任何其他解决方案,使这些测试在构建服务器上运行?
答案 0 :(得分:3)
您没有太多选择。我将列出我知道的两个,首先是最喜欢的选项:
修改强>
看一下这个TestComplete FAQ项:计算机锁定时,TestComplete可以执行脚本吗?
答案 1 :(得分:1)
尝试使用本地构建服务器用户而不是系统帐户运行TeamCity服务。 在开始新版本之前,您可能需要使用该帐户登录一次。
答案 2 :(得分:1)
它definatley听起来像是需要使用交互式会话而不是服务来运行测试。添加“允许服务与桌面交互”可能有所帮助,但Vista中不再支持此功能。
如果您可以将您的构建interactivetivley作为命令行运行,而不是也应该运行的服务。
我们曾经使用visual studo 2008加载代理运行我们的UIAutomation测试来分发它们,在VM上作为命令行工具运行没有问题。
我也同意你可能不应该在构建服务器上运行UI测试作为日常构建的一部分。
答案 3 :(得分:0)
打开应用程序窗口后,构建始终挂起。
测试实例化UI?这不会起作用,例如如果你得到一个模态对话框,那么构建将会挂起。这就是MVP模式发明的原因,将活动表示代码与具体视图隔离开来。
您是否在自动化测试中使用模拟视图?