运行量角器测试时更改VSTS代理会话屏幕分辨率

twi*_*ind 8 automated-tests protractor azure-devops azure-pipelines

当通过RDP访问时,我的量角器测试在我的本地计算机和Azure VM Windows Server 2012R2上运行良好.我在我的测试中明确设置浏览器窗口分辨率browser.driver.manage().window().setSize(1600, 900);,它允许测试正常工作.

但是,当上面提到的VM用作构建机器时,由VSO(VSTS)代理控制,我的量角器测试失败了.我怀疑它发生是因为VSO代理会话的屏幕分辨率小于我的测试中指定的所需分辨率而且WebDriver(ChromeDriver)无法将分辨率设置为高于OS限制.

我的问题是如何更改Azure VM for VSO代理会话的屏幕分辨率?

我尝试使用自定义实用程序从这里更改屏幕分辨率 ,它可以在我的PC上运行,但是当它由Azure VM上的VSTS代理执行时,它会抛出错误:

System.InvalidOperationException: The display driver failed the specified graphics mode.
Run Code Online (Sandbox Code Playgroud)

jes*_*ing 2

为了运行量角器测试,代理需要交互式会话。将代理配置为以交互方式运行,而不是作为服务运行。

它确实有助于以交互方式运行代理。当我通过 RDP 连接到构建计算机时,它会获取客户端计算机的屏幕分辨率。然后,当我启动 vso 代理并通过 RDP 断开连接时,此显示分辨率保留在构建计算机上,因此 selenium 可以最大化浏览器窗口。