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

标签 windows internet-explorer selenium continuous-integration

我正在我们的构建服务器上使用 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/

相关文章:

python - 如何从一个脚本一起启动多个其他 python 脚本并向它们发送参数?

c++ - 在 Windows 7 64 位中未接收到 WM_WTSSESSION_CHANGE

windows - 我在 Windows 10 中安装了 GPU 和 CUDA,但 Pytorch 的 torch.cuda.is_avaiable() 返回 false;我该如何纠正?

CSS Div 在 IE 上不合适

internet-explorer - 为 IE 实时预览 CSS 更改的最佳实践?

JavaScript 单击可以在控制台中工作,但不能在 Selenium 中执行脚本

java - 如何通过 selenium-webdriver 和 Java 使用 java 进行鼠标悬停

java - Windows下调试JVM崩溃

html - IE7 <li> 悬停之外的元素符号/数字

python - 单击 Python Selenium 中特定行上表中的按钮