在Windows构建服务器上使用Internet Explorer驱动程序截屏时出现黑屏

hav*_*heg 5 windows continuous-integration selenium internet-explorer

我在构建服务器上使用selenium运行了几个自动浏览器测试.在运行Chrome或Firefox驱动程序时截取屏幕没有问题,但在运行Internet Explorer驱动程序时,我只是得到一个黑屏.

虚拟机

Selenium版本:2.53.0 IEDriver:2.53.0

操作系统:Windows Server 2012

浏览器:Internet Explorer 11

我已经完成了文档https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver中所有必需的配置

我还尝试了第三个选项:https: //lostechies.com/keithdahlby/2011/08/13/allowing-a-windows-service-to-interact-with-desktop-without-localsystem/

我还在全球范围内启用了服务交互:https: //msdn.microsoft.com/en-us/library/windows/desktop/ms683502(v = vs.85).aspx

当我远程访问构建服务器时,我可以手动触发运行测试.这很好用.因此,我们的CI(TeamCity)设置必须存在与构建服务器交互的问题.

我目前卡住了,可能需要一些帮助吗?

Anc*_*wal 2

这是 Windows 的默认行为。由于 Internet Explorer 与 Windows 紧密结合,因此它的行为方式与其他浏览器不同。

为了更好地利用资源,在远程运行时,Windows 会检测到由于会话以远程模式运行并且没有人在观看屏幕,因此它会占用显示屏幕所需的资源,从而导致屏幕黑屏。当您登录计算机时,将再次部署显示屏幕 UI 的资源。因此,当在远程模式下运行时,由于没有显示屏幕,因此屏幕截图显示为空白。

只有解决方法,没有解决方案。解决方法:

解决方法 1:使用 VNC 服务器代替 RDP 进行远程会话,因为 VNC 使远程会话保持活动状态。 解决方法 2:将此命令添加到批处理文件中:tscon rdp-tcp#1 /dest:console

它将把会话切换到“1”,即活动模式。默认情况下它将在“0”模式下运行。它将断开您的会话,现在您可以运行测试用例。