gpt4 book ai didi

selenium - 如何在不使用 Selenium 服务器的情况下从 Protractor headless 运行 Chrome

转载 作者:行者123 更新时间:2023-12-04 15:20:06 24 4
gpt4 key购买 nike

我通过运行 xvfb 让 Chrome 通过 Selenium 服务器 headless 工作绑定(bind)到 DISPLAY:10,然后使用 DISPLAY=:10 webdriver-manager start 运行 Selenium .所以这一切都很好。

我还通过指定 directConnect: true 直接从 Protractor 运行 Chromedriver在我的 Protractor .conf 中。

我想做的是两者的结合,即。直接运行 chromedriver(没有 Selenium !),但以某种方式指示它在 DISPLAY :10 上 headless 运行。

在拓扑方面,一切都在开发者的 PC 上运行。不涉及服务器。在下面的评论中,我提到了一个节点服务器:它用于启动 Protractor ,而不是更常见的从命令行启动。我希望 Protractor 在 DISPLAY:0 上运行,这样我就可以看到它的输出、测试失败等。当它使用 chromedriver 生成 chrome 时,我希望 chrome 在 DISPLAY:10 上运行。我这样做的原因是我希望 chrome 窗口比我的物理屏幕大。见 How can I screenshot the full height of a mobile form factor?为背景。

最佳答案

我猜拓扑是这样的:

  • 箱一:xvfb , DISPLAY=:10 , Selenium 服务器, chromedriver
  • B箱:DISPLAY=:0 , 节点, Protractor ( directConnect: true ), chromedriver
  • 框 C:测试运行器。

  • 鉴于 DISPLAY,我不知道它还能如何布局 is an environment variable , 不是要传递的参数。

    在这种情况下,假设您不想要单独的 xvfb安装在 Box B 上,并且 A 可以从 B 到达(加上良好的连接),解决方案只是设置:
    DISPLAY=boxAHost:10

    在方框 B 上。

    如果从 B 无法访问 A,则最简单的方法可能是复制 xvfb在 A 和 B 上都设置,并且有 DISPLAY=:10双方。

    关于selenium - 如何在不使用 Selenium 服务器的情况下从 Protractor headless 运行 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502680/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com