Teamcity 使用RDP和TestComplete的虚拟机屏幕分辨率

Teamcity 使用RDP和TestComplete的虚拟机屏幕分辨率,teamcity,virtual-machine,resolution,testcomplete,Teamcity,Virtual Machine,Resolution,Testcomplete,为了测试桌面应用程序,我们有一个主项目,在不同的虚拟机上运行从项目。 我们正在使用TeamCity开始测试。在TestManagement机器(VM)上,我们有一个作为服务运行的构建代理。此生成代理使用TestExecute启动主项目 此项目与RDP连接到不同的VM,以运行我们应用程序的UI测试(从属项目)。我们正在使用网络套件并在主机(VM)上运行测试,就像这里建议的那样:使用网络套件 但是,我们对用于运行UI测试的屏幕分辨率有一个问题。分辨率太低了。 本页通过RDP运行测试给出了一个解释:

为了测试桌面应用程序,我们有一个主项目,在不同的虚拟机上运行从项目。 我们正在使用TeamCity开始测试。在TestManagement机器(VM)上,我们有一个作为服务运行的构建代理。此生成代理使用TestExecute启动主项目

此项目与RDP连接到不同的VM,以运行我们应用程序的UI测试(从属项目)。我们正在使用网络套件并在主机(VM)上运行测试,就像这里建议的那样:使用网络套件

但是,我们对用于运行UI测试的屏幕分辨率有一个问题。分辨率太低了。 本页通过RDP运行测试给出了一个解释:

在参与分布式测试的远程计算机上运行测试时,TestComplete会创建远程桌面会话,并自动设置远程计算机上主计算机的屏幕分辨率。这样做是为了避免测试运行时可能出现的问题

因此TestExecute将使用主计算机的屏幕分辨率。 但是TeamCity代理作为服务在VM(TestManagement机器)上运行,并且没有屏幕分辨率,因为它是一台无头机器,不像真正的用户那样将RDP连接到此VM并启动主项目

我假设TestExecute将使用默认屏幕分辨率(类似于640x480)作为RDP连接的分辨率。但这太低,无法运行我们的测试,一些对象不在屏幕上,我们有很多问题

是否有方法更改TestExecute/TestComplete将创建的RDP连接使用的分辨率? 棘手的是,主项目是从一台无头机器上的服务开始的

谢谢你的回答


卡米尔

在过去,我们遇到了与您类似的问题,我们无法通过这种方式解决。作为解决方案(目前正在为我们工作),我们在测试环境中安装了TightVNC。这使我们能够忘记屏幕连接(RDP问题),因为您第一次通过RDP配置屏幕分辨率,然后通过IP访问,登录,您将能够启动任何您想要的,而无需打开任何应用程序。 也许这不是最好的解决方案,但对于我们的测试环境,我们可以按需从Jenkins启动测试,而不会出现屏幕分辨率问题