我正在我们的构建服务器上使用 selenium 运行几个自动浏览器测试。在运行 Chrome 或 Firefox 驱动程序时截图没有问题,但在运行 Internet Explorer 驱动程序时我只是黑屏。
虚拟机
Selenium 版本:2.53.0 IE驱动程序:2.53.0
操作系统: Windows 服务器 2012
浏览器: 浏览器 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) 设置与构建服务器交互一定有问题。
我目前被困住了,可能需要一些帮助?
最佳答案
这是 Windows 的默认行为。由于 Internet Explorer 与 Windows 紧密耦合,因此它会以这种方式运行,但其他浏览器则不会。
为了更好地利用资源,在remote运行时,windows检测到session运行在remote模式,没有人在看屏幕,它会带走显示屏幕所需的资源,然后黑屏。当您登录机器时,将再次部署显示屏幕 UI 的资源。 因此,在远程模式下运行时,由于没有显示屏幕,屏幕截图显示为空白。
只有解决方法,没有解决方案。 解决方法:
解决方法 1:使用 VNC 服务器而不是 RDP 进行远程 session ,因为 VNC 使远程 session 保持事件状态。 解决方法 2:将此命令添加到批处理文件:tscon rdp-tcp#1/dest:console
它将 session 切换到“1”,即事件模式。 默认情况下,它将在“0”模式下运行。它将断开您的 session ,现在您可以运行您的测试用例。
关于windows - 在 Windows 构建服务器上使用 Internet Explorer 驱动程序截屏时出现黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36889688/