猿问

Selenium 测试截图尺寸较小

我正在使用 Jenkins 在 windows slave 上运行 selenium 测试。Windows slave 有 Windows 2016 操作系统。对于已启动的从属实例,我为 Jenkins 使用了 ec2 插件,它使用

winrm 协议来管理我们的节点。测试执行得很好,但屏幕截图的分辨率约为 1024*786(我认为)。但是服务器的分辨率为 1920*1020。如果我在开始测试之前做了 rdp CONNECT TO SLAVE SERVER,屏幕截图将是全尺寸的。我为通过 netplwiz 使用 winrm 的用户添加了自动登录。没有帮助我。

我也试过: 1. 改成windows register: DefaultSettings.XResolution,DefaultSettings.YResolution to 1902*1020;


仅当我在开始测试之前将 rdp 连接到我的服务器时才帮助我。


更新(12.10.2018):


    C:\Users\jenkins>powershell -command "Set-DisplayResolution -Width 1920 -Height 1080 -Force" 

    setres will now attempt to apply the following display settings: 

      Width:          1920

      Height:         1080


The settings passed in could not be applied to the graphics device.

init script ran successfully

我想说明一下,我正在使用 winrm 协议。我创建了一篇有趣的文章 https://serverfault.com/questions/803453/windows-server-2012-default-desktop-size


因此,可能原因在于显示驱动程序(Hyper-V Video)...


慕工程0101907
浏览 304回答 3
3回答

慕莱坞森

如果windows slave是由AD控制的,可以自定义大小。当您使用 RDP 连接时,它将占用您的 PC 分辨率。与 IT 人员或管理此机器的人员联系以模拟更高的分辨率。

呼啦一阵风

我在已运行 ec2 实例并通过 winrm 协议管理节点的插件中添加时解决了我的问题 - 数据用户:<script>&nbsp;Set-DisplayResolution -Width 1920 -Height 1080 -Force</script><persist>true</persist>

神不在的星期二

当显示分辨率改为 1036*660 时,Jenkins 插件不能用于 Windows 上的 Selenium 测试。因为当使用 WinRm 或 ssh 作为连接到从站的方法时,插件在非交互式会话 0 中工作。我们不能影响这种情况。您可以在 Microsoft 文档中获取有关 CreateProcessAsUserA 函数的更多信息。您可以使用来自 github murrayju/CreateProcessAsUser 的示例代码。
随时随地看视频慕课网APP

相关分类

Java
我要回答