通过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.
答案 0 :(得分:2)
为了运行量角器测试,代理需要一个交互式会话。将代理配置为以交互方式运行,而不是作为服务运行。
它确实有助于在交互式中运行代理。当我通过RDP连接到我的构建机器时,它获得了我的客户机的屏幕分辨率。然后,当我启动vso代理并通过RDP断开连接时,此显示分辨率仍保留在构建计算机上,因此selenium可以最大化浏览器窗口。