我在 Jenkins Slave 上运行一些 Selenium 测试时遇到问题。具体来说,用于运行测试的显示分辨率太小,导致某些测试失败。
为了检查显示分辨率,我们将显示高度和宽度记录到控制台,使用:
driver.manage().window().maximize();
System.out.println("Window height: " + driver.manage().window().getSize().getHeight());
System.out.println("Window width: " + driver.manage().window().getSize().getWidth());
这将返回:
Window height: 784
Window width: 1040
这对我来说似乎是一个非常奇怪的决议。所需的分辨率为 1920 x 1080。
用作从服务器的服务器是虚拟机 (Windows Server 2012 R2)。Jenkins 从站通过 JNLP 代理连接。从站的服务以“本地系统”登录并启用“允许服务与桌面交互”选项运行。
到目前为止,我们已经尝试了很多方法,例如:
- 使用 RDP 连接到从属 VM 并断开连接以保持会话以所需的显示分辨率打开
- 使用powershell设置显示分辨率
- 在 VM 配置中设置默认显示分辨率
- 使用 Selenium 设置窗口尺寸
- 和更多...
所有这些都没有解决问题。非常欢迎提出建议!