GS *_*eam 4 tfs automated-tests azure-devops azure-pipelines-build-task azure-pipelines
当通过RDP访问时,对桌面WPF应用程序运行自动化测试在我的本地计算机和Azure VM Windows Server 2012R2上运行良好.
但是,当VM用作构建机器时,由TFS或VSTS上的测试代理控制,由于屏幕分辨率设置为1024x768屏幕分辨率,所有测试都会失败.在此显示设置之前,应用程序未配置为运行.有没有办法在部署测试代理时更改屏幕设置?
小智 7
我们在Visual Studio + Azure解决方案上遇到了同样的问题.为了能够执行测试,我们需要在VM上获得比1027 x 768更高的分辨率.但由于它是Azure并且您为打开的机器付费,我们还希望在每次运行后关闭它们以降低成本(当你想要扩大一点时特别有用).
因此,真正的痛苦是没有简单的选项让VM以某种(指定的)分辨率启动.如果有比我要给你看的更简单的东西,请告诉我,但我找不到任何东西.所以我对Nessi提到的想法进行了投票.我们作为一种解决方法所做的是以下内容.
想法可能的解决方案
本质上我们使用这篇文章作为指导.我们使用的最重要的事情是Windows凭证部分和TERMSRV.
我们的设置
我们的方案
首先,我们让Build服务器启动资源组中的所有计算机(到目前为止一直很好).然后我们创建了一个Powershell脚本,该脚本在构建服务器上运行到节点以进行检查并等待RDP服务变为可用.这是必需的,因为在我们看到此服务处于活动状态之前可能需要长达10分钟.最后,我们在selenium-grid-hub VM上触发Powershell,以一定的分辨率与所有节点建立RDP连接.
更详细一点,确保一切都自动完成,无需任何手动输入:
C:\Scripts\RDPServiceRunCheck.ps1在带有参数的VS构建块中调用此脚本(请参阅下面的示例)$(Password) $(Chrome-node) $(Username)C:\Scripts\Resolution.RDP.Remoting.exe在带有参数的VS构建块中调用此脚本(请参阅下面的示例)"C:\Scripts\$(Chrome-node).rdp" 1600 12001600 1200是我们要设置的分辨率这是 Azure VM 的限制,因为它使用 RDP 来设置屏幕分辨率。有关详细信息,请参阅此链接:为什么无法增加或更改 Azure VM 中的显示分辨率。
RDP 会话使用 RDP 显示驱动程序,而不是 Microsoft 虚拟机总线视频设备。
尽管 RemoteFX 功能比常规 RDP 能够支持更广泛的图形工作负载,但 RemoteFX 不适用于 Azure VM。
| 归档时间: |
|
| 查看次数: |
2858 次 |
| 最近记录: |