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

时间:2016-04-27 12:21:24

标签: windows internet-explorer selenium continuous-integration

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

虚拟机

Selenium版本:2.53.0 IEDriver:2.53.0

OS: 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)设置必须存在与构建服务器交互的问题。

我目前陷入困境,需要一些帮助?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

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