Selenium - 更改节点服务的分辨率
Selenium - change resolution on node service
我在 windows server 2012 R2
上使用 Selenium 3.01
。
通过 webdriver
.
远程进行测试 运行
问题是当节点作为服务运行时分辨率太小并且测试不断失败。
当 运行 节点作为进程登录时一切都很好,因为分辨率要好得多。
我可以看到在拍摄失败照片时的巨大差异。
如何更改分辨率?
Driver.set_windowsize(x,y)
或
Driver.maximize_window()
由于服务器的分辨率较小,无法正常工作。
有什么想法吗?
谢谢
认为这是服务限制,我们遇到过这样的问题,解决方案是从命令行启动节点。
- 连接到远程机器
- 从命令行启动节点
- 关闭连接(不是通过注销,而是通过单击 'X' 按钮)
这样您的会话就会挂起,如果您希望自动执行此命令,您可以尝试将批处理文件添加到您的启动。
我解决了这个问题。
我在 VMware ESX 上使用虚拟机。
首先我注意到,当通过控制台登录并尝试更改分辨率时,最大分辨率比预期的要小很多。
为了最大化最大分辨率,我遵循了这个 VMware KB。
现在,通过编辑注册表值更改默认分辨率:
导航至:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{Address of primary video card}[=11=]00\
找到DefaultSettings.XResolution
那是你的X轴。编辑为您想要的小数。 IE 1152.
找到 DefaultSettings.YResolution
。那是你的 Y 轴。编辑为您想要的小数。 IE 863.
重启,大功告成
此外,请确保您的 Selenium node
作为具有 Allow service to interact with desktop
的本地系统运行。
现在您可以通过您的代码更改 chrome window 分辨率:
Driver.set_windowsize(x,y)
我在 windows server 2012 R2
上使用 Selenium 3.01
。
通过 webdriver
.
问题是当节点作为服务运行时分辨率太小并且测试不断失败。
当 运行 节点作为进程登录时一切都很好,因为分辨率要好得多。
我可以看到在拍摄失败照片时的巨大差异。
如何更改分辨率?
Driver.set_windowsize(x,y)
或
Driver.maximize_window()
由于服务器的分辨率较小,无法正常工作。
有什么想法吗? 谢谢
认为这是服务限制,我们遇到过这样的问题,解决方案是从命令行启动节点。
- 连接到远程机器
- 从命令行启动节点
- 关闭连接(不是通过注销,而是通过单击 'X' 按钮)
这样您的会话就会挂起,如果您希望自动执行此命令,您可以尝试将批处理文件添加到您的启动。
我解决了这个问题。 我在 VMware ESX 上使用虚拟机。
首先我注意到,当通过控制台登录并尝试更改分辨率时,最大分辨率比预期的要小很多。
为了最大化最大分辨率,我遵循了这个 VMware KB。
现在,通过编辑注册表值更改默认分辨率:
导航至:
HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{Address of primary video card}[=11=]00\
找到
DefaultSettings.XResolution
那是你的X轴。编辑为您想要的小数。 IE 1152.找到
DefaultSettings.YResolution
。那是你的 Y 轴。编辑为您想要的小数。 IE 863.重启,大功告成
此外,请确保您的 Selenium node
作为具有 Allow service to interact with desktop
的本地系统运行。
现在您可以通过您的代码更改 chrome window 分辨率:
Driver.set_windowsize(x,y)