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

时间:2016-09-22 05:44:26

标签: protractor automated-tests 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代理会话的屏幕分辨率?

我尝试使用自定义工具来更改here的屏幕分辨率 它可以在我的电脑上运行,但是当它由Azure VM上的VSTS代理执行时,它会抛出错误:

System.InvalidOperationException: The display driver failed the specified graphics mode.

1 个答案:

答案 0 :(得分:2)

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

  

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