windows - 设置azure windows vm默认分辨率以运行selenium脚本

标签 windows azure virtual-machine screen resolution

当我通过 RDP 连接到 Windows Server 2012R2 Azure VM 时,我的分辨率为 1600x900,这与我的客户端 PC 分辨率相对应。但是,当我使用 VSO 代理在这台计算机上运行 selenium UI 测试时,它们失败,因为代理 session 的屏幕分辨率为 1024x768。在设备管理器中,我可以看到显示适配器是 Microsoft Hyper-V Video。当我通过 RDP 连接访问屏幕分辨率部分时,我只能看到我选择的分辨率并呈灰色,并且还显示消息“无法从远程 session 更改显示设置”。 是否可以更改在 Azure VM 上运行的 Windows Server 2012R2 的默认屏幕分辨率? 我尝试将 DefaultSettings.XResolution 和 DefaultSettings.YResolution 值添加到注册表,但没有帮助。

最佳答案

尝试在 iFrame 中加载网站并在 iFrame 标记中声明宽度/高度属性。生成的窗口在可视桌面分辨率的边界之外打开,并允许测试比桌面分辨率支持的更多屏幕分辨率。

调用 iFrame:

driver.Navigate().GoToUrl("file:///E:/iframe.html");

iFrame 内容示例:

<iframe id="theiframe" src="https://www.SomeSiteToTest.com" width=1800 height=750 align="center" frameBorder="0" ></iframe>

将 Selenium 驱动程序焦点切换到 iFrame:

    driver.SwitchTo().Frame(driver.FindElement(By.Id("theiframe")));

从这里您现在可以使用 FindElement 或使用 iFrame 内的内容所需的任何内容。

关于windows - 设置azure windows vm默认分辨率以运行selenium脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49378374/

相关文章:

Windows : no errors, 上的 PHP mail() 未发送电子邮件

c# - 为什么 C# 将所有方法和类型标记为 System.Runtime.InteropServices.Charset.Ansi?

java - cordova 构建 android > JDK 1.8 检查失败

Azure 逻辑应用 SFTP 使用路径获取文件内容因网关错误而失败

php 如何启动外部程序运行 - 系统和 exec 有问题

python - Azure函数不执行其他Python函数

Azure 流量管理器、自定义域和 404

linux - 运行(和编译)不受信任的用户代码

python - Mac OS 中的 python 是否可以访问 Windows 虚拟机来使用模块?

ubuntu - Virtualbox桥接网络不工作