Selenium测试的屏幕截图很小

时间:2018-10-05 12:31:47

标签: java windows selenium jenkins

我正在使用Jenkins在Windows Slave上运行硒测试。 Windows slave具有Windows 2016 OS。对于启动的从属实例,我将ec2插件用于Jenkins,它使用了
用于管理节点的winrm协议。测试执行得很好,但屏幕截图的分辨率约为1024 * 786(我认为)。但是服务器的分辨率为1920 * 1020。如果我在开始测试之前做了rdp CONNECT TO SLAVE SERVER,则屏幕截图将是完整尺寸。我为通过netplwiz使用winrm的用户添加了自动登录。没帮我
我也尝试过: 1.更改为Windows寄存器:DefaultSettings.XResolution,DefaultSettings.YResolution为1902 * 1020;

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

UPDATE(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视频)...

3 个答案:

答案 0 :(得分:0)

如果Windows从站由AD控制,则它可以具有自定义大小。 与RDP连接时,它将采用您的PC分辨率。

与IT部门或管理本机的人员交谈以模拟更高的分辨率。

答案 1 :(得分:0)

@ Infern0非常感谢您的帮助。 添加到已运行Win2协议并通过Winrm协议管理节点的插件中时,我解决了我的问题-数据用户:

<script>
 Set-DisplayResolution -Width 1920 -Height 1080 -Force
</script>
<persist>true</persist>

答案 2 :(得分:0)

当显示分辨率改为1036 * 660时,Jenkins插件不能用于Windows上的Selenium测试。因为当使用WinRm或ssh作为连接到从站的方法时,插件在非交互会话0中工作。

我们不能影响这种情况。

您可以在Microsoft文档中获取有关CreateProcessAsUserA函数的更多信息。

您可以使用github murrayju / CreateProcessAsUser中的示例代码。