【问题标题】:Allow webdriver browser to popup on desktop from Windows 10 Service允许 webdriver 浏览器从 Windows 10 服务在桌面上弹出
【发布时间】:2019-02-20 19:30:48
【问题描述】:

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

所以,我在 Jenkins 代理上运行了 4 个不同的 Selenium 网格,还有一个将运行节点的桌面。并且当管道启动时,它会向作为 Windows 服务运行的节点服务器发送一个带有其网格 IP 地址的 Http 调用。

POST {windows_service_node_server}/startnode

当windows服务服务器收到请求时,它会启动一个节点并通过运行一个批处理文件将hub连接到相应的Jenkins selenium Grid

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

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

这很好,但如果可能的话,我希望实际看到浏览器实例弹出窗口。

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

有人有解决方法吗?

【问题讨论】:

    标签: selenium batch-file windows-services


    【解决方案1】:

    您可以在 Microsoft 的有关 Interactive Services 的文章中看到:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 2021-01-09
      • 2011-03-15
      • 2014-09-28
      • 2011-06-14
      相关资源
      最近更新 更多