我需要将Windows窗体应用程序集成到TeamCity中。Windows窗体应用程序也可以通过命令行启动-所以通过触发批处理脚本,应用程序将自动启动,当然- GUI将出现。
现在我试着用TeamCity启动它-但这不起作用,因为通过触发TeamCity的批处理脚本,GUI将不会出现,应用程序无法实现它的目的。似乎必须加载一些GUI元素,并且逻辑编程代码与GUI元素混合在一起。
所以我的问题是:是否有可能TeamCity以某种方式触发应用程序,GUI将出现-因此它不会在后台运行?如果没有,那么我必须将GUI元素从逻辑编程代码中分离出来。
提前感谢!
如果你让TeamCity作为一项服务运行,那么它将无法访问桌面来运行UI。我在之前尝试运行Selenium测试的项目中遇到过类似的问题。
为了解决这个问题,我们停止了TeamCity windows服务,用RDP和一个有效的用户帐户登录到VM,然后从shell启动TeamCity构建代理。
https://confluence.jetbrains.com/display/TCD9/Setting + +和+ +额外+构建+代理运行# SettingupandRunningAdditionalBuildAgents-ManualStart
从长远来看,您将希望尽可能地将业务逻辑与UI分离,以使测试更容易。