允许Webdriver浏览器从Windows 10服务弹出在桌面上

时间:2019-02-20 19:30:49

标签: selenium batch-file windows-services

所以我的理解是,从Windows Vista开始,他们已禁用Windows服务与桌面交互,但是我只是想知道是否有一种适合我需要的解决方法

因此,我在Jenkins代理上运行4个不同的Selenium Grid,在一个将运行节点的桌面上运行。当管道启动时,它将把主体中具有其网格IP地址的Http调用发送到作为Windows服务运行的节点服务器。

POST {windows_service_node_server}/startnode

Windows服务服务器收到请求后,将启动一个节点,并通过运行具有以下内容的批处理文件将集线器连接到相应的Jenkins硒网格:

java -Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-3.8.1.jar -role node -hub http://{jenkins_hub_address}:4444/grid/register -nodeConfig nodeConfig.json

问题在于所有硒测试都在后台运行,而前台没有浏览器。

这很好,但是我想尽可能地看到浏览器实例弹出窗口。

如果我不将服务器作为Windows服务运行,它将在前台启动浏览器并正常运行。

有人有任何解决方法吗?

1 个答案:

答案 0 :(得分:0)

正如您在Microsoft关于Interactive Services的文章中所看到的:

  

从Windows Vista开始,服务无法直接与用户互动。因此,不应在新代码中使用标题为“使用交互式服务”的部分中提到的技术。

如果要测试设置,则可以在登录时启动网格节点。如果要查看被测系统,可以获取远程屏幕截图。如果需要监视,则可以使用一些工具来检查远程计算机上正在运行的进程。

但是让旨在在无人看管的情况下运行的服务与屏幕进行交互只是一个坏主意,因此Windows开发人员从技术上避免了这种情况。