2017-02-11 60 views
0

要测试我们的桌面应用程序,我们有一个在不同VM上运行Slave项目的Master项目。 我们正在使用TeamCity开始我们的测试。在TestManagement机器(VM)上,我们有一个作为服务运行的构建代理。此构建代理使用TestExecute启动Master项目。使用带有TestComplete的RDP的虚拟机的屏幕分辨率

该项目与RDP连接到不同的VM来运行我们的应用程序的我们的UI测试(从属项目)。我们正在使用Network Suite并在主机(VM)上运行我们的测试,如此处所示:使用Network Suite。

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

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

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

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

有没有办法改变TestExecute/TestComplete将创建的RDP连接使用的分辨率? 最棘手的部分是主项目是由无头机上的服务启动...

谢谢您的解答,

卡米尔

回答

0

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